Compare commits

..

332 Commits

Author SHA1 Message Date
clrbuilder 8e9dd55e0f Update packages file for version 26670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-12-04 13:02:35 +00:00
clrbuilder 9ee80a2635 Update packages file for version 26650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-12-03 19:02:24 +00:00
clrbuilder 653105ffdf Update packages file for version 26640
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-12-03 13:02:31 +00:00
clrbuilder a67fe47e39 Update packages file for version 26620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-12-02 21:27:58 +00:00
clrbuilder 103222eb4e Update packages file for version 26610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-12-02 16:23:53 +00:00
clrbuilder 0304bbd6b1 Update packages file for version 26590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-30 13:02:24 +00:00
clrbuilder 4ca1662790 Update packages file for version 26570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-29 13:01:54 +00:00
clrbuilder 94e2c39146 Update packages file for version 26560
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-28 21:18:03 +00:00
clrbuilder d67be8a71b Update packages file for version 26550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-28 13:02:18 +00:00
clrbuilder 130f0f089e Update packages file for version 26540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-28 02:46:45 +00:00
clrbuilder a75e19a379 Update packages file for version 26530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-27 19:02:51 +00:00
clrbuilder d2e1c72c33 Update packages file for version 26520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-27 13:03:47 +00:00
clrbuilder b94a1c537f Update packages file for version 26510
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-26 19:02:46 +00:00
clrbuilder 164dd8300e Update packages file for version 26500
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-26 13:03:05 +00:00
clrbuilder 32141b9181 Update packages file for version 26470
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-23 13:03:04 +00:00
clrbuilder bc66045b2d Update packages file for version 26460
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-22 19:02:18 +00:00
clrbuilder 649a59bf12 Update packages file for version 26450
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-22 13:02:19 +00:00
clrbuilder b1706fe2c4 Update packages file for version 26420
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-21 13:03:40 +00:00
clrbuilder 6548a7a206 Update packages file for version 26410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-20 19:06:29 +00:00
clrbuilder a3fcd6a943 Update packages file for version 26380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-19 19:03:43 +00:00
clrbuilder 3c834e4761 Update packages file for version 26370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-19 13:46:48 +00:00
clrbuilder 77c334ec1a Update packages file for version 26360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-17 13:55:58 +00:00
clrbuilder 7c013dd5df Update packages file for version 26350
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-17 02:49:17 +00:00
clrbuilder a499f61626 Update packages file for version 26340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-16 19:02:43 +00:00
clrbuilder 794174863b Update packages file for version 26330
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-16 13:02:55 +00:00
clrbuilder dedad8c6c7 Update packages file for version 26300
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-15 05:05:18 +00:00
clrbuilder 54737f7d97 Update packages file for version 26280
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-14 09:47:38 +00:00
clrbuilder 56fdddbca3 Update packages file for version 26270
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-13 18:55:42 +00:00
clrbuilder 58dff13c12 Update packages file for version 26210
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-12 01:47:52 +00:00
clrbuilder 45a416f269 Update packages file for version 26200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-10 18:29:25 +00:00
clrbuilder b09ef7403e Update packages file for version 26190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-09 19:03:13 +00:00
clrbuilder 2059376f34 Update packages file for version 26160
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-08 13:03:07 +00:00
clrbuilder 4501493d03 Update packages file for version 26150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-07 23:09:14 +00:00
clrbuilder df3579f538 Update packages file for version 26140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-07 19:13:23 +00:00
clrbuilder 3c01990ffc Update packages file for version 26130
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-07 13:02:30 +00:00
clrbuilder 991e0baaaa Update packages file for version 26080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-05 13:02:13 +00:00
clrbuilder 434ab82632 Update packages file for version 26070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-04 17:44:04 +00:00
clrbuilder 0f814b2df9 Update packages file for version 26060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-03 17:49:13 +00:00
clrbuilder f2c3f4f95b Update packages file for version 26050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-02 18:26:52 +00:00
clrbuilder 590efe2b9c Update packages file for version 26040
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-02 12:02:27 +00:00
clrbuilder 7919adae9f Update packages file for version 26020
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-11-01 12:02:26 +00:00
clrbuilder 8ea05f2ae4 Update packages file for version 26000
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-31 12:02:56 +00:00
clrbuilder 3560600fb6 Update packages file for version 25940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-29 12:32:27 +00:00
clrbuilder 0e54abbb3f Update packages file for version 25930
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-28 22:58:40 +00:00
clrbuilder 3e7f5be6fc Update packages file for version 25900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-26 16:32:33 +00:00
clrbuilder 36d3edd56c Update packages file for version 25880
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-26 00:32:14 +00:00
Miguel Bernal Marin 9008cbccba start_qemu.sh: enable OVMF CODE and VARS usage
Currently, we use the traditional BIOS flag "-bios" to specify the OVMF
firmware device file. Ken proposes changing to pflash type BIOS and separate
BIOS code and variable.

-drive file=OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
-drive file=OVMF_VARS.fd,if=pflash,format=raw,unit=1 \

Ken has following reasons:
  1. -bios can only support single flash binary, but the actual BIOS binary
      is consisted by many parts like SEC, PEI(Boot Block), DXE(Main Block)
      and Variable area as non-volatile storage for BIOS settings. During
      OMVF booting, a file called NvVars.bin will be created at
      <Disk>/<ESP Partition>/NvVars.bin for BIOS variable storage.
      This will pollute original Clearlinux-xxx.img.

  2. In future, we can add secure signed SEC BIOS part to enable full
      secure boot for Clear Linux via pflash.

  3. Some version of open stack, it requires separate Var Store NV instead
      of OVMF.fd. Ken meet with this issue recently. So if can show the separate
      pflash BIOS file via start_qemu.sh as example.

Suggested-by: "Lu, Ken" <ken.lu@intel.com>
2018-10-25 16:44:58 -05:00
clrbuilder 04022fb765 Update packages file for version 25870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-25 21:32:21 +00:00
Miguel Bernal Marin 424c34140e Add OVMF CODE and VARS to repo
As from 0c69bfb9a9 ("Add OVMF.fd to the repo"), the CODE and VARS will
be used by start_qemu.sh.

Note that these version of OVMF_* are a copy from /usr/share/qemu
in Clear Linux OS 25840.

$ sha512sum /usr/share/qemu/OVMF_*
efea56944ad8153ed956390863c30c1a61eb4e52c43a8a0e3e6e3a71e56796f3c6a1c32e107a3d86e7a2e59faa462c7ffb10916b62a73d110bd0b0b84a60e02a  /usr/share/qemu/OVMF_CODE.fd
448412fd7ba267b4180db8ade6edb67af467e5b9b3e3ff8dfd583a2fded4070f6951667297e6896ce8bd9f4d2ec3dd8a5a70b6e9a2f686efec9a57124fec512a  /usr/share/qemu/OVMF_VARS.fd
2018-10-25 15:36:19 -05:00
clrbuilder f85cd42756 Update packages file for version 25840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-25 14:00:41 +00:00
clrbuilder e7afb1ae5e Update packages file for version 25800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-24 18:57:09 +00:00
clrbuilder 2c52a5ab39 Update packages file for version 25780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-23 22:38:57 +00:00
Patrick McCarty d84fec113e Remove duplicate swupd-client package
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-10-22 15:44:37 -07:00
clrbuilder f1b1424db4 Update packages file for version 25760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-22 21:57:08 +00:00
clrbuilder df8b789d60 Update packages file for version 25730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-22 01:08:44 +00:00
clrbuilder 78d7b4366b Update packages file for version 25720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-19 18:03:15 +00:00
clrbuilder 7be12344b6 Update packages file for version 25710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-19 12:02:56 +00:00
clrbuilder 04e58480cb Update packages file for version 25700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-18 18:05:45 +00:00
clrbuilder ebcc67f00b Update packages file for version 25690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-18 12:02:51 +00:00
clrbuilder f5b1aa8c87 Update packages file for version 25680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-17 18:03:13 +00:00
clrbuilder c61c91f9f2 Update packages file for version 25670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-17 12:03:10 +00:00
clrbuilder a57af837d8 Update packages file for version 25630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-16 03:45:15 +00:00
clrbuilder 03ba957d5f Update packages file for version 25610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-15 13:22:48 +00:00
Patrick McCarty d661496a4c Fix packages list again
The repos are in an unusual state for 25600 (just like for 25590) in
that two swupd-client packages were added. The tooling for updating this
packages file does not expect that condition, so revert the change.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-10-12 20:52:51 -07:00
clrbuilder 4e1ce01d4e Update packages file for version 25600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-13 00:38:15 +00:00
Patrick McCarty dfeb8f9862 There is only swupd-client in the distro...
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-10-12 15:18:46 -07:00
clrbuilder 79c4befdea Update packages file for version 25590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-12 21:06:15 +00:00
clrbuilder c8c0c08100 Update packages file for version 25580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-12 18:03:15 +00:00
clrbuilder 877cd04101 Update packages file for version 25570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-12 12:02:52 +00:00
clrbuilder 7453e26bc7 Update packages file for version 25540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-10 21:05:34 +00:00
Patrick McCarty 11e0b5baee Add new commands for installing rpms on the running system
For testing purposes only, if developers want to install RPMs they just
built onto their development system, potentially overwriting content
that is tracked by swupd, they can now run 'make install-local' to
install all of the RPMs, or 'make install-debuginfo-local' to just
install the debuginfo package.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-10-10 13:09:20 -07:00
clrbuilder 54c652944f Update packages file for version 25530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-10 18:03:02 +00:00
clrbuilder ef5179c975 Update packages file for version 25520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-10 12:02:42 +00:00
clrbuilder fc9793ff4e Update packages file for version 25460
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-08 02:13:02 +00:00
clrbuilder 1508582709 Update packages file for version 25430
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-05 12:02:24 +00:00
clrbuilder fca82072fa Update packages file for version 25420
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-04 18:04:01 +00:00
clrbuilder 7fb07fdb29 Update packages file for version 25410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-04 12:03:09 +00:00
Patrick McCarty 387cb23c79 Only add kvm group if needed
The user may have run the user-setup script previously, or they may
already belong to the 'kvm' group to begin with, so avoid running the
usermod command in these situations.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-10-03 16:28:44 -07:00
clrbuilder c63ed02014 Update packages file for version 25380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-03 01:40:23 +00:00
clrbuilder d0773602f5 Update packages file for version 25360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-02 00:47:15 +00:00
clrbuilder 7b2b947843 Update packages file for version 25340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-10-01 16:18:23 +00:00
clrbuilder e619aeeab5 Update packages file for version 25330
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-29 00:43:51 +00:00
clrbuilder f041821042 Update packages file for version 25310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-28 05:19:12 +00:00
clrbuilder 04e79ac6f7 Update packages file for version 25280
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-26 23:06:46 +00:00
clrbuilder 942c21283f Update packages file for version 25260
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-25 22:41:48 +00:00
clrbuilder 0803beead9 Update packages file for version 25240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-25 22:10:02 +00:00
clrbuilder 8bf3888935 Update packages file for version 25220
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-25 21:12:26 +00:00
clrbuilder 3f2c7de583 Update packages file for version 25180
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-25 12:02:49 +00:00
clrbuilder 514048840f Update packages file for version 25160
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-24 02:55:14 +00:00
Patrick McCarty 012a1a3767 Support pre-checks for autospec and autospecnew too
For some commands, it is useful to be able to add custom prerequisites.
We already support this for `make koji` and `make build`, and there was
just a request to add it for `make autospec` and `make autospecnew`.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-09-21 12:12:23 -07:00
clrbuilder 0168eb6258 Update packages file for version 25150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-21 18:31:40 +00:00
clrbuilder 2212f350e9 Update packages file for version 25140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-21 12:02:20 +00:00
Patrick McCarty 75a06769ea Revert "Update packages file for version 24761"
Likely a test change that should not have been pushed to this repo.

This reverts commit 797f6c050c.
2018-09-20 23:21:09 -07:00
clrbuilder 797f6c050c Update packages file for version 24761
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-20 21:19:58 +00:00
clrbuilder 3169a8db4c Update packages file for version 25130
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-20 18:02:16 +00:00
clrbuilder c6e5d09862 Update packages file for version 25120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-20 12:01:57 +00:00
clrbuilder 76d551ae77 Update packages file for version 25100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-19 18:27:12 +00:00
clrbuilder 92202763aa Update packages file for version 25090
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-19 12:02:39 +00:00
clrbuilder 3a666723c1 Update packages file for version 25080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-18 18:16:01 +00:00
clrbuilder ed7e63d752 Update packages file for version 25070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-18 12:02:33 +00:00
clrbuilder bf6c49b8b9 Update packages file for version 25050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-17 12:05:14 +00:00
clrbuilder cc0b7da35a Update packages file for version 25030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-14 18:30:46 +00:00
clrbuilder 33febf4489 Update packages file for version 25020
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-14 12:02:36 +00:00
clrbuilder 52ab50a9c7 Update packages file for version 25010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-13 19:45:38 +00:00
clrbuilder 70d40d9b59 Update packages file for version 24970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-11 22:25:01 +00:00
clrbuilder 8b709c2e1b Update packages file for version 24960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-11 12:02:50 +00:00
clrbuilder ea4e713277 Update packages file for version 24950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-10 18:05:09 +00:00
clrbuilder ca817a8c5e Update packages file for version 24940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-10 13:23:06 +00:00
clrbuilder db80ffd052 Update packages file for version 24930
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-08 16:01:57 +00:00
clrbuilder 54e7c47bd6 Update packages file for version 24920
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-07 19:38:38 +00:00
clrbuilder 60cb8aa36a Update packages file for version 24900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-07 12:03:24 +00:00
clrbuilder 3a5c12aa29 Update packages file for version 24890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-06 18:03:08 +00:00
clrbuilder 118120ca01 Update packages file for version 24880
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-06 12:02:33 +00:00
Thiago Macieira f59a650cf4 Also delete the rpms/ subdir when making proper
Autospec has begun putting the files there.

Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
2018-09-05 16:29:59 -07:00
clrbuilder 1dae5422cc Update packages file for version 24870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-05 18:03:47 +00:00
clrbuilder b4860a0d82 Update packages file for version 24860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-05 08:48:46 +00:00
clrbuilder 4760d853bb Update packages file for version 24850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-04 21:56:55 +00:00
clrbuilder 4331a0a193 Update packages file for version 24840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-04 18:03:11 +00:00
clrbuilder ca68988393 Update packages file for version 24810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-03 15:34:07 +00:00
clrbuilder 37879628f7 Update packages file for version 24800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-03 12:20:03 +00:00
clrbuilder 7f158c6e91 Update packages file for version 24780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-09-01 05:26:47 +00:00
clrbuilder 4b9b44feef Update packages file for version 24760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-31 12:02:44 +00:00
clrbuilder 20e55005ac Update packages file for version 24750
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-30 18:02:42 +00:00
clrbuilder ceeee94f0c Update packages file for version 24740
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-30 12:02:35 +00:00
Patrick McCarty 852b6e83c9 Refresh SPDX license list to latest (version 3.2)
Make the SPDX puller code more robust by reading from JSON sources
rather than parsing HTML. Also, keep all deprecated license identifiers
for now, since they are still present in the spdx list.

Four identifiers were removed since the last refresh, but we are keeping
them for backwards compatibility. The removed license IDs now reside in
the licenses-extra file. At

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-29 17:19:34 -07:00
Patrick McCarty ae9f0610d6 Sort SPDX license list with LC_COLLATE=C
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-29 16:10:18 -07:00
Auke Kok fa65110479 Adding 2 new spdx identifiers 2018-08-29 14:28:31 -07:00
clrbuilder 4259e8dbf0 Update packages file for version 24730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-29 18:02:48 +00:00
clrbuilder 56a38edc64 Update packages file for version 24720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-29 12:05:15 +00:00
clrbuilder d5cdd5d1c5 Update packages file for version 24700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-28 12:02:54 +00:00
Patrick McCarty 806a1f5593 Fix several commands to use PKGS_LOCAL
Several commands should be using PKGS_LOCAL, which is the list of all
package repos that are present on the system, since the user might not
have all repos from PKGS cloned.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-27 14:40:57 -07:00
Patrick McCarty b82d61d686 clean/proper: honor toplevel --jobs value
This fixes integration with the GNU Make jobserver such that the
-j/--jobs value passed to make is actually honored.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-27 14:28:58 -07:00
clrbuilder d7404ca99d Update packages file for version 24690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-27 21:02:15 +00:00
clrbuilder c81774a23c Update packages file for version 24680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-27 12:02:27 +00:00
clrbuilder b1ef20b90b Update packages file for version 24670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-26 21:44:17 +00:00
clrbuilder b100150ca3 Update packages file for version 24660
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-25 15:25:50 +00:00
clrbuilder 482940952d Update packages file for version 24650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-24 18:12:40 +00:00
clrbuilder b50fabd346 Update packages file for version 24640
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-24 12:35:46 +00:00
clrbuilder c383979d14 Update packages file for version 24610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-23 12:28:01 +00:00
clrbuilder 08138ad889 Update packages file for version 24580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-23 05:51:59 +00:00
clrbuilder b78940d18a Update packages file for version 24550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-21 20:15:48 +00:00
clrbuilder bb74ceef8d Update packages file for version 24540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-20 18:47:37 +00:00
clrbuilder 12800a51fa Update packages file for version 24520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-19 18:30:26 +00:00
clrbuilder 9b445f1116 Update packages file for version 24510
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-18 20:38:58 +00:00
clrbuilder 40898f6ce0 Update packages file for version 24490
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-17 12:02:29 +00:00
clrbuilder 3b4b1b3053 Update packages file for version 24480
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-16 18:02:40 +00:00
clrbuilder e26fd3e022 Update packages file for version 24440
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-15 18:02:29 +00:00
clrbuilder 677fe6cbd5 Update packages file for version 24430
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-15 00:53:37 +00:00
clrbuilder 9e54179aea Update packages file for version 24410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-14 12:02:12 +00:00
Kevron Rees 1145477b30 Add section to documentation about updating package version
Document includes a description for pumping the release, but what
if there is a completely new upstream version?  This patch adds a
section that describes how to update the upstream url for a
package and update the package information accordingly.

Signed-off-by: Kevron Rees <kevron.m.rees@intel.com>
2018-08-13 10:51:27 -07:00
Kevron Rees 19cb72b28e add link to autospec documentation
Documentation only describes how to tweak autospec behavior by
modifying one file ("buildreq_add").  A new developer might not be
aware that there are several other files that can be modified that
will change autospec behavior.  Link to the autospec documentation
so that developers can learn of the other files and how autospec
uses them.

Signed-off-by: Kevron Rees <kevron.m.rees@intel.com>
2018-08-13 10:51:27 -07:00
clrbuilder 497059b257 Update packages file for version 24390
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-13 12:02:49 +00:00
clrbuilder fbda0655f2 Update packages file for version 24370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-11 23:16:43 +00:00
clrbuilder 1b32d114f3 Update packages file for version 24360
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-10 18:00:13 +00:00
clrbuilder 90a4ceb162 Update packages file for version 24340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-10 12:02:33 +00:00
clrbuilder 2947369532 Update packages file for version 24330
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-09 18:03:38 +00:00
clrbuilder 26bb3f43f8 Update packages file for version 24310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-09 06:14:47 +00:00
Patrick McCarty fd509a2295 Hardlink only the rpms created by Mock
In case git repos cloned by autospec into results/ contain RPMs, we do
not want to hardlink those files to rpms/.

Fix the issue by limiting the find depth to 1 level so that the tooling
only hardlinks rpms created by Mock.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-08 19:14:19 -07:00
clrbuilder eb4fcd4085 Update packages file for version 24300
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-08 18:51:20 +00:00
clrbuilder 4fd9e54785 Update packages file for version 24290
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-08 01:11:27 +00:00
Brett T. Warden 5bc6cc856b Error on specfile and upstreams only when missing
Previously, we always emitted an error and failed when the specfile or
upstream target was requested, breaking the -B switch. Now, we only fail
if the file doesn't actually exist, not just that it was requested via
make.
2018-08-07 09:03:54 -07:00
clrbuilder 3bfdb39ee1 Update packages file for version 24270
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-07 12:02:19 +00:00
clrbuilder b495687f7c Update packages file for version 24240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-06 12:02:12 +00:00
clrbuilder c719db89dd Update packages file for version 24230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-05 20:07:59 +00:00
clrbuilder ba9e38f3f0 Update packages file for version 24220
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-04 13:04:54 +00:00
clrbuilder 0d4b01ec83 Update packages file for version 24210
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-03 21:33:20 +00:00
clrbuilder 4867cefcb7 Update packages file for version 24200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-03 18:02:54 +00:00
clrbuilder e88fcdc4bc Update packages file for version 24190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-03 12:02:14 +00:00
clrbuilder a381875001 Update packages file for version 24150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-02 07:07:54 +00:00
clrbuilder 114936fc23 Update packages file for version 24140
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-02 04:52:55 +00:00
Patrick McCarty 3739bc0e0f repoadd: use new rpms directory, and hardlink instead
Since binary RPMs are now stored in the "rpms" directory, follow a
similar method for storing them in the local repo, too.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty f43a186a78 Store copies of binary RPMs in "rpms" dir
To improve visibility of which RPMs a user may want to install after a
build, copy (hardlink) them to a separate "rpms" directory.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty da562cb750 Always clean rpms and logs from previous builds
I often find myself running "make clean proper", when by default, I
think the old build artifacts should be removed so that the results
directory is pristine at the start of a new build.

As a result, if users wish to keep all build artifacts from a previous
"make build" or "make autospec", they must keep manual backups, as the
tooling no longer keeps them around.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty 16467cfbc0 Avoid appending to srpm logs
Mock will append the binary rpm build logs to the srpm logs, but this is
confusing. After the srpm finishes building, rename the log files to
avoid this behavior.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
Patrick McCarty 16466cac02 Make results/ directory un-nested again
Because Mock dumps its logs and and resulting rpms in the same directory
(results), shuffling the logs and rpms only after a successful build is
confusing, since they will be untouched for the error case.

It's simpler to avoid moving the files entirely. The only exceptions
will be to avoid clobbering existing log files. Changes of this nature
will appear in later commits and in autospec.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-08-01 09:38:27 -07:00
clrbuilder 6e8d00eb30 Update packages file for version 24120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-08-01 12:02:17 +00:00
clrbuilder c160c30218 Update packages file for version 24110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-31 18:17:35 +00:00
clrbuilder 9b09c217da Update packages file for version 24100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-31 12:02:22 +00:00
Thiago Macieira 00230e7d1d Use zstd for compressing the mock root cache
Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
2018-07-30 19:33:17 -07:00
Arjan van de Ven ff40498428 packages update 2018-07-31 01:40:40 +00:00
clrbuilder 6483c7dd86 Update packages file for version 24090
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-30 18:02:43 +00:00
clrbuilder d1079234d9 Update packages file for version 24080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-30 12:03:58 +00:00
clrbuilder 51a2c03a4a Update packages file for version 24070
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-29 20:42:57 +00:00
clrbuilder 3d8c98b0d8 Update packages file for version 24060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-29 14:30:22 +00:00
clrbuilder 243ad03d32 Update packages file for version 24030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-27 14:38:37 +00:00
clrbuilder e1072736aa Update packages file for version 24010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-27 02:28:58 +00:00
clrbuilder 9a557531f4 Update packages file for version 23980
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-26 12:02:28 +00:00
clrbuilder d8cb4987e5 Update packages file for version 23960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-25 18:03:16 +00:00
clrbuilder 6719c0f7df Update packages file for version 23950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-25 12:44:51 +00:00
clrbuilder 7166df721b Update packages file for version 23940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-24 23:07:56 +00:00
Brett T. Warden a70cf49f45 Include Makefile.custom from package repo 2018-07-24 15:42:12 -07:00
clrbuilder 781eae34bb Update packages file for version 23930
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-24 18:57:22 +00:00
clrbuilder ee17bc50a9 Update packages file for version 23910
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-24 02:17:42 +00:00
clrbuilder 1fcfde404c Update packages file for version 23900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-23 18:03:30 +00:00
clrbuilder 36716ffe26 Update packages file for version 23890
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-23 12:04:23 +00:00
clrbuilder eab92f6841 Update packages file for version 23880
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-22 21:31:54 +00:00
clrbuilder 903919de2f Update packages file for version 23870
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-21 21:44:43 +00:00
clrbuilder 69000f2f2e Update packages file for version 23860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-21 16:28:26 +00:00
clrbuilder 8b8f649dcb Update packages file for version 23850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-20 18:02:47 +00:00
clrbuilder 91ba5c1c6b Update packages file for version 23840
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-20 12:02:24 +00:00
clrbuilder 70e5280ae4 Update packages file for version 23830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-19 18:02:28 +00:00
clrbuilder dbc677ddca Update packages file for version 23820
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-19 12:04:19 +00:00
clrbuilder c2ff34b4ca Update packages file for version 23810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-18 18:02:33 +00:00
clrbuilder df917a0aa2 Update packages file for version 23800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-18 15:09:48 +00:00
clrbuilder c0e95c9bcd Update packages file for version 23790
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-18 12:02:06 +00:00
clrbuilder 979430e742 Update packages file for version 23730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-16 12:03:05 +00:00
clrbuilder 61d9b5ab29 Update packages file for version 23710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-13 18:03:00 +00:00
clrbuilder 557bc87774 Update packages file for version 23700
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-13 12:02:48 +00:00
clrbuilder fb869ea5a2 Update packages file for version 23690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-12 18:03:06 +00:00
clrbuilder 665a2546f8 Update packages file for version 23680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-12 12:02:43 +00:00
clrbuilder d8f18e5f6d Update packages file for version 23650
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-11 12:02:35 +00:00
William Douglas 255935f4fb Add pattern directory configuration option
The failed_pattern_dir contains a path to a location containing
additonal configuration files for failed_commands, ignored_commands,
maven_jars, gems, license_hashes, license_translations,
license_blacklist, and qt_modules.
2018-07-10 17:55:31 +00:00
clrbuilder 34df391482 Update packages file for version 23630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-10 14:51:38 +00:00
clrbuilder 3d9fd9fd67 Update packages file for version 23620
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-10 12:02:50 +00:00
clrbuilder 8894658b0a Update packages file for version 23610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-09 18:02:33 +00:00
clrbuilder f2d0972aab Update packages file for version 23590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-07 20:43:42 +00:00
clrbuilder 64c2b82443 Update packages file for version 23580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-07 14:47:01 +00:00
clrbuilder 3963a1f319 Update packages file for version 23570
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-07 00:51:08 +00:00
clrbuilder 68cd34db8f Update packages file for version 23550
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-06 16:40:29 +00:00
clrbuilder b9952701c5 Update packages file for version 23480
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-04 03:33:26 +00:00
Patrick McCarty 3671774e8a Support newer versions of Mock (part 1)
In Mock version 1.4.4, the chroot group was changed from "mockbuild" to
"mock". This creates a problem for running Mock on Clear Linux because
(a) the distro already has group "mock", and (b) Mock tries to `groupdel
mock` within the chroot and fails, since the group is defined in
/usr/share/defaults/etc/group and not in /etc/group. Mock treats the
groupdel failure as fatal. Fortunately there is a workaround: set the
"chrootgroup" config to a group not already defined in the OS. I am
setting the group to "mockbuild" in the default config to restore the
behavior of previous Mock versions. Thanks to Mark Horn for adding this
feature upstream! It was merged for Mock 1.4.7.

Also, disable the new bootstrap container feature, added in Mock version
1.4.1. It was disabled by default in version 1.4.2, but keep the
explicit setting in case upstream enables it in the future.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-07-02 21:57:19 -07:00
clrbuilder fa7c45049f Update packages file for version 23450
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-03 04:11:59 +00:00
Patrick McCarty 768bdc7550 Ignore mv failure when debuginfo package is missing
Fixes #6

Not all Clear Linux packages have debuginfo subpackages, so ignore
errors when attempting to move them to the results/debuginfo/ directory.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-07-02 16:48:08 -07:00
clrbuilder 6372c11a12 Update packages file for version 23430
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-02 16:25:53 +00:00
clrbuilder 5629731f54 Update packages file for version 23410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-01 17:14:56 +00:00
clrbuilder a0f8fd9a50 Update packages file for version 23400
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-01 14:55:29 +00:00
clrbuilder cad2e6081d Update packages file for version 23390
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-07-01 01:47:50 +00:00
clrbuilder 2daf8a48b2 Update packages file for version 23380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-30 23:32:42 +00:00
clrbuilder 26582bd9f2 Update packages file for version 23370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-29 19:42:57 +00:00
clrbuilder c6a2d6fabd Update packages file for version 23350
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-29 12:03:01 +00:00
Patrick McCarty 2d8fc9a155 koji: exit early if spec has uncommitted changes
When running 'make koji', the tooling will attempt to create a new git
tag with a name constructed from the spec file's NVR.

However, if there are uncommitted changes to the Name, Version, or
Release fields (collectively, NVR) in that file, the new tag's name will
not match the NVR in the spec file referenced by commit HEAD.

Protect against the mismatch by exiting early from a 'make koji' if any
spec file modifications are not yet committed to the repo, and alert the
user what the problem is.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-27 17:46:25 -07:00
Patrick McCarty 1eadce9aad Fix 'make repoadd'
The debuginfo RPMs are stored in a separate directory now, so the rpm
copy pipeline needed a slight adjustment.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-27 14:48:52 -07:00
Tudor Marcu 6613644b9c Update folder structure in results/
The logs, srpms, and debuginfo should all be split into their own
directory, so it is less confusing about which RPMs can be used when
creating mixes. They are mainly for extra metadata, and should not be
left in the main RPM results location.

Signed-off-by: Tudor Marcu <tudor.marcu@intel.com>
2018-06-27 14:04:12 -07:00
clrbuilder 93115e4073 Update packages file for version 23310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-27 18:02:45 +00:00
clrbuilder 12537cbfb0 Update packages file for version 23240
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-22 18:02:37 +00:00
clrbuilder d397ee463a Update packages file for version 23230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-22 12:02:16 +00:00
clrbuilder dfe55331e6 Update packages file for version 23200
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-21 18:02:34 +00:00
Patrick McCarty 0c69bfb9a9 Add OVMF.fd to the repo
Fixes #4

Because start_qemu.sh references OVMF.fd, it is convenient for OVMF.fd
to live alongside that script for ease of use.

Note that this version of OVMF.fd is a copy of /usr/share/qemu/OVMF.fd
in Clear Linux OS builds 22930 and newer from the edk2 package
(edk2-2-8, built using the recent UDK2018 release).

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-19 15:52:23 -07:00
William Douglas 689e48a2f7 start_qemu.sh: Add virtio-rng-pci device
In order to avoid issues
(https://github.com/clearlinux/distribution/issues/97) where the
VM is unable to procede to boot due to lack of entropy, add the
virtio-rng-pci device via the start_qemu.sh script.
2018-06-19 18:01:55 +00:00
Patrick McCarty 82e334a93a Make start_qemu.sh executable
Fixes #3

The other shell scripts in this repo are executable, so there's no
reason this one should not be.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-18 12:46:27 -07:00
clrbuilder ab6c4a674f Update packages file for version 23110
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-18 13:02:45 +00:00
clrbuilder 78de1a6a13 Update packages file for version 23100
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-16 03:50:04 +00:00
clrbuilder 74e79ffea2 Update packages file for version 23080
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-15 19:02:11 +00:00
clrbuilder bb21809c73 Update packages file for version 23050
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-15 03:23:35 +00:00
clrbuilder e912d4e6ae Update packages file for version 23040
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-14 19:02:20 +00:00
clrbuilder 340b6a74d4 Update packages file for version 23030
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-14 13:11:14 +00:00
clrbuilder 2e8f9ef0ab Update packages file for version 23010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-13 19:07:40 +00:00
Patrick McCarty 4bdd1765c5 Remove explicit cachedir from dnf.conf
DNF doesn't fall back to /var/tmp if it cannot write to the cachedir
location specified in dnf.conf (unlike YUM). Removing the explicit
cachedir setting in dnf.conf enables the fallback behavior, which we
will need for autospec use.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-13 12:00:01 -07:00
clrbuilder 45f39671d6 Update packages file for version 22970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-12 13:02:00 +00:00
clrbuilder 1d46a683e0 Update packages file for version 22950
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-11 19:05:51 +00:00
clrbuilder 41d2113b8a Update packages file for version 22940
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-11 13:09:51 +00:00
clrbuilder 528cd77168 Update packages file for version 22900
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-10 05:08:19 +00:00
Patrick McCarty 916ce142bb pull: skip repos that do not exist locally
Since the user-setup script does not clone package repos by default
anymore, 'make pull' can be made more user-friendly by not printing
warnings if some/all/most of the package repos are not already present
in the packages/ directory.

Instead, only populate the package "pull" list with names from the
packages file that are currently present in the packages/ directory.

Package repos that are not present can be cloned as before: 'make clone'
to clone all missing package repos, or 'make clone_PKG' to clone a
selected package repo.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-06-08 12:01:18 -07:00
clrbuilder e2a3b113f2 Update packages file for version 22860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-07 19:02:21 +00:00
clrbuilder 0acf617611 Update packages file for version 22850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-07 13:02:11 +00:00
clrbuilder 39aeb852fe Update packages file for version 22830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-06 13:02:13 +00:00
clrbuilder 0e7d7e336d Update packages file for version 22800
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-05 16:06:47 +00:00
clrbuilder 2323c9924f Update packages file for version 22770
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-04 13:02:08 +00:00
clrbuilder da1f1f7483 Update packages file for version 22760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-03 06:49:53 +00:00
clrbuilder 723a925ed8 Update packages file for version 22730
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-06-01 13:02:38 +00:00
clrbuilder 7e9ee1949d Update packages file for version 22720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-31 21:08:28 +00:00
clrbuilder f0df3f7809 Update packages file for version 22710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-31 16:14:03 +00:00
Patrick McCarty 9f77c5b172 Adjust mock config for improved caching
Not setting "keepcache=1" results to DNF removing cached RPMs after
every local build.

Also, naming the cachedir "/var/cache/dnf" is important for the cache to
stick around and be stored in /var/cache/mock/clear/dnf_cache.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-30 13:17:34 -07:00
Patrick McCarty 3c52bbd7d7 Add a dnf.conf, and use it by default
The new dnf.conf is very similar to the yum.conf, but because the
in-tree Mock config specifies to use DNF, we should track a dnf.conf
here as well and use it by default.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-30 13:15:17 -07:00
Patrick McCarty 7203329212 Move conf files into dedicated "conf" directory
The "image-creator" and "koji-client-files" subdirectories are named as
such to reflect their purpose from long ago. In the present, the names
are confusing, so I am shuffling files around a bit to reflect current
usage.

All conf files (or conf file templates) have been moved to "conf"
instead, and some documentation has been added to explain what the files
are used for, and how they can be customized.

Also, after moving the conf files, the last file remaining in one of the
old subdirectories is "start_qemu.sh", so move it to the toplevel dir.
We could eventually move the miscellaneous scripts into a dedicated
directory too, but I will save that for another time.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-30 13:15:17 -07:00
clrbuilder b76562fe35 Update packages file for version 22680
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-30 13:02:40 +00:00
clrbuilder 657bf44505 Update packages file for version 22630
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-26 17:06:00 +00:00
clrbuilder c0e4bbf18e Update packages file for version 22610
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-25 13:40:50 +00:00
clrbuilder 38b5e792cd Update packages file for version 22600
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-24 18:31:08 +00:00
clrbuilder 43a333f08f Update packages file for version 22590
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-24 05:43:36 +00:00
clrbuilder 9985956b7c Update packages file for version 22580
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-24 00:19:37 +00:00
clrbuilder 7a62e62b28 Update packages file for version 22540
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-22 13:02:25 +00:00
Patrick McCarty 92977583a6 user-setup: stop installing mock config to /etc
The common tooling behavior changed a while back with respect to the
mock config usage, so update the user-setup script to reflect the
changes. Also add documentation about how to customize the mock config,
which can be leveraged to revert back to the original behavior as well.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-21 16:32:52 -07:00
Patrick McCarty b8d121260a user-setup: create 'mix' directory for future use
To enable future shared workflows between the common tooling and mixer,
create a directory named 'mix' within the tooling workspace.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-21 16:12:44 -07:00
clrbuilder ace60d849e Update packages file for version 22530
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-21 13:02:36 +00:00
clrbuilder a2759eca40 Update packages file for version 22520
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-20 14:28:39 +00:00
clrbuilder 7d0977c785 Update packages file for version 22450
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-17 02:48:06 +00:00
Patrick McCarty 9184a2fd62 user-setup: support abs/rel paths for cert options
Support both absolute and relative paths for the cert options, instead
of relative paths only, by using realpath(1) to resolve the arguments.

(Note that the script cannot reference the path arguments verbatim
because much of the script operates in the workspace's toplevel
directory, which is a different location than where the script is
invoked. In that situation, relative paths would not resolve.)

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-15 14:50:09 -07:00
clrbuilder e80c6eb4bd Update packages file for version 22420
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-15 17:22:37 +00:00
clrbuilder 5cf5fd71cb Update packages file for version 22410
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-15 13:02:06 +00:00
clrbuilder 4b01a5a9cd Update packages file for version 22390
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-14 19:02:44 +00:00
Patrick McCarty 4910ef0882 koji: only pull --rebase if remote is initialized
After running 'make autospecnew', the freshly created repo only exists locally,
so the repo remote is not yet initialized. The 'git pull --rebase' (via 'make
koji') will then fail due to the uninitialized remote. Improve this case by
only rebasing when the remote is initialized.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-14 11:49:26 -07:00
clrbuilder 1518adace0 Update packages file for version 22380
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-14 02:27:47 +00:00
clrbuilder ef0e792c3d Update packages file for version 22370
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-12 02:19:56 +00:00
Patrick McCarty 1bb7b0c471 autospecnew: try to clone repo first
If the user tries to create a new package with 'make autospecnew', a
package repo will be created from scratch, even if a repo exists with
the same name at PKG_BASE_URL.

This problem stems from 'make autospecnew' assuming that all tracked
package repos are cloned already, but is a bad assumption, given the
recent change of behavior for user-setup.sh (not cloning package repos
by default).

Resolve it by first trying to clone the repo with "make clone_PKGNAME";
clone_PKGNAME targets are automatically defined for all packages listed
in the projects/common/packages file. As long as users have an
up-to-date packages file (i.e. are running 'make pull' regularly), then
this solution works well. The case not covered is when packages are
added, then later removed; package repos will already exist remotely in
this case. However, this is a relatively rare case, so I opted to only
handle the common case where a package is added and never removed from
the distro at a later point.

(Side note: I originally wanted to 'git ls-remote REPO' to check remote
repo existence, but this does not work well with Github, as Github
prompts for username/password for remotes that appear to not exist,
since they might be private repos. Prompting a Github username/password
in this case is not very user-friendly. Using the Github API looks
viable, but I would rather not special case the handling of Github repos
in the common tooling.)

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-11 11:21:41 -07:00
Leandro Dorileo 51dc7a7c24 autospec: use MOCK_OPTS
Also make autospec use MOCK_OPTS to pass down arbitrary mock options.

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-05-10 15:48:26 -07:00
George T Kramer c8848dbdb2 Allow additional curl options for fetching sources
The DOWNLOAD_MIRROR server, the SOURCES_URL server, and upstream
source tarballs may be hosted in many different environments.
Allow users to supply additional curl options via a config to use
whenever connecting to the DOWNLOAD_MIRROR and SOURCES_URL servers and
work better with their particular hosting environment.  Because upstream
source tarballs can come from many different locations, do not offer a
global config and instead allow users to define this manually as needed
when the rule is used.

Signed-off-by: George T Kramer <george.t.kramer@intel.com>
2018-05-10 15:22:57 -07:00
Leandro Dorileo 92e045116a mock: add MOCK_OPTS
Eventually developers - when they know what they're doing - want to
manipulate a little bit the mock arguments to i.e skip a few stages
in the mock build cycle while they're hacking a package.

One example is when developers are testing changes to a spec file but
not touching dependencies and they're [re]running the build multiple times
it would be nice to not cleanup before the build and run a rebuild
for example with: --rebuild --no-clean

With this patch one should only do:

make build MOCK_OPTS="--rebuild --no-clean"

Signed-off-by: Leandro Dorileo <leandro.maciel.dorileo@intel.com>
2018-05-10 14:56:22 -07:00
Patrick McCarty 1f3475a1ef Move "Manual setup" section to end of README
Users are encouraged to run the user-setup script as documented in the
"Automated setup" section. To clarify that the "Manual setup" section is
an alternative to "Automated setup", move those docs to the end of the
README instead.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-10 13:28:18 -07:00
Patrick McCarty f836786e2d user-setup: update docs in the README
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-10 13:23:34 -07:00
Patrick McCarty 7dc88fd01a user-setup: do not clone package repos by default
Because the package repo cloning process can take a lot of time, do not
clone them by default. Instead, add a new --clone-packages|-a option to
perform this task.

Also, immediately before the script exits, document some possible next
steps when *not* cloning package repos (the new default).

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-10 12:01:25 -07:00
Patrick McCarty 250efaef8f user-setup: enable a configurable workspace name
To allow setting up multiple workspaces in the same directory, or if the
name "clearlinux" is not the desired name, add a --directory|-d option
to let the user configure it.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-10 11:46:52 -07:00
Patrick McCarty c6532c6759 user-setup: enable parallel repo cloning
Since Clear Linux has many package repos, cloning them all in serial can
take a long time. Add a -j option to the script to let users speed up
the process.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-10 11:19:15 -07:00
Patrick McCarty f1c85e3294 user-setup: switch to 2-space indent
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-05-10 10:45:12 -07:00
clrbuilder f5abc3a8d3 Update packages file for version 22340
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-09 19:02:00 +00:00
clrbuilder 74d5bc42f5 Update packages file for version 22330
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-09 13:02:01 +00:00
clrbuilder d6cc120a3c Update packages file for version 22310
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-08 14:07:03 +00:00
clrbuilder 71c1bd013f Update packages file for version 22290
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-07 13:19:54 +00:00
clrbuilder aadbd40a21 Update packages file for version 22250
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-03 19:38:24 +00:00
clrbuilder 60020aebcc Update packages file for version 22230
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-03 13:01:47 +00:00
clrbuilder 3a00f7eda4 Update packages file for version 22220
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-02 19:02:26 +00:00
clrbuilder 0470861400 Update packages file for version 22210
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-02 13:01:58 +00:00
clrbuilder 4fac58a65e Update packages file for version 22190
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-05-01 13:02:34 +00:00
clrbuilder 743041a30c Update packages file for version 22180
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-30 17:25:53 +00:00
clrbuilder 59f9bb1f7a Update packages file for version 22150
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-28 21:26:16 +00:00
clrbuilder 1e74d17500 Update packages file for version 22120
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-26 19:20:29 +00:00
clrbuilder 6a7fac08d9 Update packages file for version 22060
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-24 19:02:11 +00:00
Patrick McCarty 932c2236a7 generateupstream: fix upstream file handling
My previous change to handling of the 'upstream' file assumed that the
file exists already, but this need not be true.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-24 10:12:34 -07:00
Patrick McCarty 6c92ce3160 sources: download files directly if SOURCES_URL undefined
When SOURCES_URL is not defined, the current behavior of extracting
source files from SRPMs in the latest published Clear Linux release has
proven to not work so well: It is not optimal when users are adding new
packages, modifying existing packages, not building from latest master,
etc.

Instead, run 'generateupstream' automatically so that source files are
downloaded from the remote locations listed in the spec file. This
target creates the 'upstream' file too, which becomes useful if the user
later defines SOURCES_URL, when 'upstream' is actively consumed.

In the event that download errors occur, as a fallback mechanism, try to
find the corresponding SRPM from a published release of Clear Linux OS.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-23 16:07:33 -07:00
Patrick McCarty 3e2219c07e sources: move srpm fetch code to separate target
I will reusing this code (largely unmodified) in the next commit, so
move it into a separate target to easily inspect changes.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-23 16:07:33 -07:00
Patrick McCarty f0d2523151 sources/generateupstream: properly handle curl errors
If any of the curl commands fail, it's better for the entire target to
fail. In this way, developers will be properly notified.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-23 14:25:51 -07:00
Patrick McCarty de39e64e29 Fix some indentation issues
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-23 14:15:58 -07:00
Patrick McCarty 877fee6375 sources: follow SOURCES_URL redirects; remove noproxy requirement
The curl --no-proxy hint is not needed anymore, since Clear Linux OS has
an autoproxy, and curl will honor proxy environment variables.

Also, pass -L to curl to follow redirects, similarly to other curl calls
in this makefile.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-23 13:47:24 -07:00
Patrick McCarty e921a2a883 generateupstream: make URL extraction more robust
Improve the detection of source URLs by matching only non-commented
Source* lines with "://" present.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-23 13:30:21 -07:00
clrbuilder e00c76846b Update packages file for version 22010
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-20 18:32:15 +00:00
clrbuilder af2c0bea72 Update packages file for version 21970
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-18 19:02:08 +00:00
clrbuilder b99b7e8c25 Update packages file for version 21960
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-18 12:47:49 +00:00
clrbuilder 359d2a8379 Update packages file for version 21860
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-16 02:52:02 +00:00
clrbuilder d828f3a3ce Update packages file for version 21850
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-14 20:29:27 +00:00
clrbuilder 330876d190 Update packages file for version 21830
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-13 13:01:54 +00:00
Patrick McCarty 3bf5f39687 Revert "autospecnew: master branch should track origin/master"
The 'git branch' command fails at this stage because the master branch
is not initialized locally, but because the remote is also not
initialized, additional special incantations are needed to make this
work. Revert it for now so that users do not see an error message from
the 'git branch' command. A proper fix will follow later.

This reverts commit 71d9699bdd.
2018-04-12 18:05:45 -07:00
Patrick McCarty 71d9699bdd autospecnew: master branch should track origin/master
Because 'make koji' expects that master should track origin/master,
initialize the tracking branch during the autospecnew.

Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
2018-04-12 17:46:01 -07:00
clrbuilder ded920ccb3 Update packages file for version 21810
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-12 13:01:47 +00:00
clrbuilder cc16065a09 Update packages file for version 21790
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-11 13:01:37 +00:00
clrbuilder 45f2185a25 Update packages file for version 21780
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-10 19:05:07 +00:00
clrbuilder 9ffc0b9640 Update packages file for version 21770
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-10 13:03:01 +00:00
clrbuilder 98c5937801 Update packages file for version 21760
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-09 20:56:43 +00:00
clrbuilder a50450212c Update packages file for version 21720
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-08 13:28:18 +00:00
clrbuilder ab77a99a47 Update packages file for version 21710
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-07 17:41:19 +00:00
clrbuilder 090bb77f92 Update packages file for version 21690
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-06 15:50:48 +00:00
clrbuilder f2b7a30d12 Update packages file for version 21670
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-05 13:07:37 +00:00
clrbuilder c26e27ce65 Update packages file for version 21640
Signed-off-by: clrbuilder <clrbuilder@intel.com>
2018-04-03 20:07:19 +00:00
22 changed files with 2594 additions and 353 deletions
+5 -1
View File
@@ -17,5 +17,9 @@ update:
curl -f -o packages ${BASE_URL}/source/package-sources
cut -f1 packages | LC_ALL=C sort > packages.new && mv packages.new packages
.PHONY: spdx
spdx:
curl -s spdx.org/licenses/ | sed '0,/<tbody>/d;/<\/tbody>/q;s/<tr>/\f/g;s/$$/,/g;s/<[^>]*>//g' | awk 'BEGIN{RS="\f";FS=","} {print $$4}' | sed '/^$$/d;s/^[ ]*//' > spdx
JSON=$$(mktemp); \
trap "rm $$JSON" EXIT; \
curl -f -S -s https://raw.githubusercontent.com/spdx/license-list-data/master/json/licenses.json > $$JSON || exit 1; \
jq -r '.licenses[] | .licenseId' < $$JSON | LC_COLLATE=C sort > licenses-spdx
+144 -60
View File
@@ -14,14 +14,14 @@ SPECFILE = $(addsuffix .spec, $(PKG_NAME))
SRPMVERS = $(shell [ ! -f $(SPECFILE) ] || rpmspec -D '_vendor clr' --srpm -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' $(SPECFILE))
SRPMFILE = results/$(SRPMVERS).src.rpm
LATEST_RPMS = $(shell [ ! -s results/build.log ] || for r in `egrep 'Wrote.*/RPMS/.*.rpm' results/build.log | sed 's/.*\///'` ; do echo "results/$$r"; done)
LATEST_RPMS = $(wildcard rpms/*.rpm)
DEBUGINFO_RPM = $(wildcard rpms/*-debuginfo-*.rpm)
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 ?= $(WITH_SUDO) /usr/bin/mock -r $(MOCK_CONFIG_VAL) $(MOCK_OPTS)
ifneq ($(wildcard upstream),)
__allsources := $(notdir $(strip $(shell cat upstream)))
@@ -29,22 +29,24 @@ __missingsources := $(filter-out $(wildcard ${__allsources}), ${__allsources})
endif
$(SPECFILE):
@echo Error: $(SPECFILE) is missing. Please run \`make autospec\` to try and auto
@echo Error: generate one for you.
@exit 1
@[[ -f "$@" ]] || (\
echo Error: $@ is missing. Please run \`make autospec\` to try and auto;\
echo Error: generate one for you.;\
exit 1 )
upstream:
@echo Error: The \"upstream\" file is missing. Try running \`make autospec\` to
@echo Error: auto generate one for you. If you are not using autospec to
@echo Error: generate a spec file, specify the proper "Source*" entries in the
@echo Error: spec header, and try running \`make generateupstream\`.
@exit 1
@[[ -f "$@" ]] || (\
echo Error: The \"$@\" file is missing. Try running \`make autospec\` to;\
echo Error: auto generate one for you. If you are not using autospec to;\
echo Error: generate a spec file, specify the proper "Source*" entries in the;\
echo Error: spec header, and try running \`make generateupstream\`.;\
exit 1 )
#help spdxcheck: Checks that the package license is a valid SPDX license,
#help or that it is in the exceptions list.
spdxcheck: $(SPECFILE)
@for LICENSE in `rpmspec -D '_vendor clr' --srpm -q --queryformat '%{LICENSE}\n' $(SPECFILE)`; do \
if ! grep -q "^$$LICENSE$$" $(TOPLVL)/projects/common/licenses-spdx && ! grep -q "$$LICENSE$$" $(TOPLVL)/projects/common/licenses-exceptions; then FAIL=yes; echo "ERROR: License '$$LICENSE' is not an allowed SPDX license ID"; fi; \
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
@@ -60,7 +62,7 @@ clean:
#help proper: Brings your copy of the package to a nearly clean git checkout state.
proper: repodel
rm -rf results
rm -rf results rpms
rm -f build.log.round*
rm -f mock_build.log mock_srpm.log $(__allsources) report.html
@@ -89,8 +91,10 @@ prebuild-checks:
#help files and rpms in the results directory of your package. If there
#help are mutlple tar.gz files for a package, make will do make sources,
#help which creates a src.rpm file from the spec file.
#help Use MOCK_OPTS environment varible to pass down arbitrary mock options.
build: prebuild-checks configemail $(SPECFILE) upstream $(SRPMFILE)
$(MOCK) $(SRPMFILE) --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/count.pl results/build.log &> testresults
@$(MAKE) checkblacklist
@@ -98,6 +102,7 @@ build: prebuild-checks configemail $(SPECFILE) upstream $(SRPMFILE)
#help build-nocheck: Same as 'make build', but do not run the package's test suite.
build-nocheck: configemail $(SPECFILE) upstream $(SRPMFILE)
$(MOCK) $(SRPMFILE) --nocheck --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@perl $(TOPLVL)/projects/common/logcheck.pl results/build.log
@perl $(TOPLVL)/projects/common/count.pl results/build.log &> testresults
@$(MAKE) checkblacklist
@@ -115,9 +120,11 @@ shell:
# Always rebuild the source rpm
.PHONY: $(SRPMFILE)
$(SRPMFILE): $(SPECFILE) $(__allsources) localreponotice
$(SRPMFILE): $(SPECFILE) $(__allsources) localreponotice clean-old-content
@$(MAKE) spdxcheck
$(MOCK) --buildsrpm --source=./ --spec=$(SPECFILE) --result=results/ --no-cleanup-after --uniqueext=$(PKG_NAME)
mv results/root.log results/srpm-root.log
mv results/build.log results/srpm-build.log
# Do a git fetch and a git rebase to apply local commits on top of latest
# commits from the remote. A git fetch/rebase is used rather than a git pull so
@@ -148,12 +155,15 @@ pullrebase:
fi \
fi
preautospec-checks:
#help autospec: automatically generates a specfile. If there is
#help already a specfile, it will be overwritten. Several files used by
#help autospec will be created in the process. For more information, see
#help the project at https://github.com/clearlinux/autospec
autospec: pullrebase localreponotice
rm -f results/*src.rpm
#help autospec will be created in the process.
#help Use MOCK_OPTS environment varible to pass down arbitrary mock options
#help to autospec.
#help For more information, see the project at https://github.com/clearlinux/autospec
autospec: preautospec-checks pullrebase localreponotice clean-old-content
@if [ -e $(SPECFILE) ] && ! grep -q "# Generated by: autospec.py" $(SPECFILE) ; then \
echo "Specfile already exists and was not created by autospec.py! Aborting."; \
exit 1; \
@@ -166,9 +176,11 @@ autospec: pullrebase localreponotice
--name $(PKG_NAME) \
--archives $(ARCHIVES) \
--mock-config $(MOCK_CONFIG_VAL) \
--mock-opts "$(MOCK_OPTS)" \
$${SETVERSION:+ --version $${SETVERSION}} \
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
$(firstword $(NEWURL) $(URL));
$(MAKE) link-new-rpms PKG_REPO_DIR="."
@$(MAKE) spdxcheck
@$(MAKE) checkblacklist
@if [ -e update_changelog.sh ] && [ -z "$$SKIP_GIT" ] ; then \
@@ -205,30 +217,12 @@ bumpnogit:
$(__missingsources): sources
#help sources: If SOURCES_URL is defined, download required upstream source
#help files from that location. Otherwise, try to extract source files from the
#help SRPM in the latest Clear Linux release, as specified by the LATEST_SRPMS
#help variable. This will run automatically, as a dependency. NOTE: A Koji
#help server can make use of this "make sources" command, since it lives in a
#help repo named "common". If you use this makefile in Koji, ensure
#help "make sources" continues to work for both remote and local builds, since
#help it is a prerequisite of several commands for building packages.
sources: upstream
ifneq ($(strip $(SOURCES_URL)),)
while read u; do \
case "$$u" in \
"") continue ;; \
*://*) n="$$u" ;; \
*) n="$(SOURCES_URL)/$$u" ;; \
esac; \
curl --fail --noproxy "*" "$$n" -o `basename "$$n"`; \
done < upstream
else
@tmp=$$(mktemp -d -p "."); \
# First argument is a Clear Linux build number (e.g. 22000)
define fetch-from-srpm
tmp=$$(mktemp -d -p "."); \
srpm=$$(rpmspec --srpm -q --qf "%{NVR}.src.rpm\n" $(SPECFILE)); \
if cd "$$tmp" && ! curl -f -L -O $(LATEST_SRPMS)/$$srpm; then \
echo "Failed to download $$srpm from latest Clear Linux release." >&2; \
echo "Run \"git pull\" and try again." >&2; \
if cd "$$tmp" && ! curl -s -S -f -L -O $(MIRROR_CURL_OPTS) $(DOWNLOAD_MIRROR)/releases/$(1)/clear/source/SRPMS/$$srpm; then \
echo "Failed to download $$srpm from Clear Linux release $(1)." >&2; \
cd .. && rm -rf "$$tmp"; \
exit 1; \
fi; \
@@ -236,14 +230,58 @@ else
cd ..; \
srclist=$$(rpmspec --srpm -q --qf "[%{SOURCE}\n]" $(SPECFILE)); \
for s in $$srclist; do \
if ! mv "$$tmp"/$$s .; then \
if ! mv --no-clobber "$$tmp"/$$s .; then \
echo "Missing source file \"$$s\" in $${srpm}." >&2; \
rm -rf "$$tmp"; \
exit 1; \
fi; \
echo "Retrieved source file $$s ..."; \
done; \
rm -rf "$$tmp";
rm -rf "$$tmp"
endef
#help sources: If SOURCES_URL is defined, download required upstream source files
#help from that location. Otherwise, try to download source files according to the
#help URLs listed in the spec file. If any of the source files fail to download,
#help check for the relevant SRPM from published releases of Clear Linux OS, and
#help extract the files if found. Note that SRPMs are taken from the DOWNLOAD_MIRROR
#help location. This will run automatically, as a dependency. NOTE: A Koji server can
#help make use of this "make sources" command, since it lives in a repo named
#help "common". If you use this makefile in Koji, ensure "make sources" continues to
#help work for both remote and local builds, since it is a prerequisite of several
#help commands for building packages.
ifneq ($(strip $(SOURCES_URL)),)
sources: upstream
while read u; do \
case "$$u" in \
"") continue ;; \
*://*) n="$$u" ;; \
*) n="$(SOURCES_URL)/$$u" ;; \
esac; \
if ! curl --fail -L -o `basename "$$n"` $(SOURCES_CURL_OPTS) "$$n"; then \
echo "Failed to download $$n"; \
exit 1; \
fi; \
done < upstream
else
sources:
@$(MAKE) generateupstream; \
[ $$? -eq 0 ] && exit 0; \
nvr="$$(rpmspec --srpm -q --qf '%{NAME}\t%{VERSION}\t%{RELEASE}\n' $(SPECFILE))"; \
latest_builds=$$(git -C $(TOPLVL)/projects/common tag -l | sort -rn); \
for b in $$latest_builds; do \
url="$(DOWNLOAD_MIRROR)/releases/$$b/clear/source/package-sources"; \
echo "Checking for source files in build $$b ..."; \
if grep -q "$$nvr" <(curl -s -f -L $(MIRROR_CURL_OPTS) $$url); then \
$(call fetch-from-srpm,$$b); \
if [ $$? -eq 0 ]; then \
echo "Source files retrieved from build $$b"; \
exit 0; \
fi; \
fi; \
done; \
echo "Source files not found for package"; \
exit 1
endif
prekoji-checks:
@@ -257,8 +295,14 @@ koji: prekoji-checks kojidef
@if ! git branch | grep -q -E '^\* 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 \
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 pull --rebase; \
fi
git pull --rebase
git tag $(SRPMVERS)
git push origin master refs/tags/$(SRPMVERS)
$(KOJI_CMD) build $$KOJI_NOWAIT $(KOJI_TAG) $(PKG_BASE_URL)/$(PKG_NAME)?#$(SRPMVERS)
@@ -296,19 +340,24 @@ $(TOPLVL)/repo:
#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.
repoadd: results/build.log $(TOPLVL)/repo
@if [ -z "`grep '^Wrote: .*$(shell basename $(SRPMFILE))$$' results/build.log`" ]; then \
echo "You have not yet succesfully built this release yet"; exit 1; \
fi
@if [ -f .repo-index ]; then \
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; cp $$r $(TOPLVL)/repo; done
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})
@@ -360,20 +409,52 @@ install:
done
@$(MAKE) loop-down DEVICE=6
#help install-debuginfo-local: Install locally built debuginfo RPM to
#help the automatic debuginfo cache location (/var/cache/debuginfo)
install-debuginfo-local:
tmpdir=$$(mktemp -d); \
rpm2cpio ${DEBUGINFO_RPM} | ( cd $$tmpdir; cpio -i -d -u); \
dest=/var/cache/debuginfo/lib; \
find $$tmpdir/usr/lib/debug/ -mindepth 1 -maxdepth 1 | while read -r d; do \
sudo chown -R dbginfo:dbginfo "$$d"; \
sudo cp -a "$$d" $$dest/; \
done; \
dest=/var/cache/debuginfo/src; \
find $$tmpdir/usr/src/debug/ -mindepth 1 -maxdepth 1 | while read -r d; do \
sudo chown -R dbginfo:dbginfo "$$d"; \
sudo cp -a "$$d" $$dest/; \
done; \
sudo rm -rf $$tmpdir
#help install-local: Install locally built RPMs to the root filesystem. Note that the
#help debuginfo RPM installs to /var/cache/debuginfo
install-local:
for r in $(filter-out ${DEBUGINFO_RPM},${RPMS}); do \
rpm2cpio $$r | (cd /; sudo cpio -i -d -u); \
done
$(MAKE) install-debuginfo-local
#help generateupstream: Run this rule to create or update the 'upstream' file
#help by downloading the upstream source tarballs listed in the spec file and
#help calculating their hashes. Autospec performs this step automatically, so ignore
#help it for packages managed with autospec.
#help calculating their hashes. Autospec performs this step automatically, so
#help ignore it for packages managed with autospec. Additional curl options
#help may be used for downloading the upstream source tarballs by defining the
#help CURL_OPTS variable for this rule.
generateupstream:
@rm -f upstream
@urls=$$(rpmspec -D '_vendor clr' -P $(SPECFILE) | grep Source | cut -d: -f2- | grep '://'); \
@[ -e upstream ] && mv upstream upstream.bak; \
urls=$$(rpmspec -D '_vendor clr' -P $(SPECFILE) | sed -n "s|^Source[0-9]*[[:blank:]]*:[[:blank:]]*\(..*://..*\)$$|\1|p"); \
for url in $$urls; do \
filename=$$(basename $$url); \
if [ ! -e $$filename ]; then \
curl --fail -L -O $$url; \
fi; \
echo $$(sha1sum $$filename | cut -d\ -f1)/$$filename >> upstream; \
filename=$$(basename $$url); \
if [ ! -e $$filename ]; then \
if ! curl --fail -L -O $(CURL_OPTS) $$url; then \
echo "Failed to download $$url"; \
[ -e upstream.bak ] && mv --no-clobber upstream.bak upstream; \
exit 1; \
fi; \
fi; \
echo $$(sha1sum $$filename | cut -d\ -f1)/$$filename >> upstream; \
done
@rm -f upstream.bak
@cat upstream
#help drop-abandoned: Remove all unused patches from the git tree
@@ -382,3 +463,6 @@ drop-abandoned: $(SPECFILE)
# Define site local common targets in a separate makefile
-include $(TOPLVL)/projects/common/Makefile.common.site_local
# Include optional extended makefiles from individual package repos
-include Makefile.custom
+10 -4
View File
@@ -26,6 +26,9 @@ CGIT_BASE_URL =
# Location of upstream tarball cache used by 'make build', 'make sources', etc.
SOURCES_URL =
# Additional curl options to use when downloading files from SOURCES_URL
SOURCES_CURL_OPTS =
# Location where package repos are hosted.
PKG_BASE_URL = https://github.com/clearlinux-pkgs
@@ -38,6 +41,9 @@ PROJ_PKGS = autospec clr-bundles common
# Clear Linux download mirror to use
DOWNLOAD_MIRROR = https://cdn.download.clearlinux.org
# Additional curl options to use when downloading files from DOWNLOAD_MIRROR
MIRROR_CURL_OPTS =
# Location of release content from latest Clear Linux release
LATEST_RELEASE = $(DOWNLOAD_MIRROR)/current
@@ -48,17 +54,17 @@ LATEST_SRPMS = $(LATEST_RELEASE)/source/SRPMS
PACKAGES_FILE = $(TOPLVL)/projects/common/packages
# Configuration file for autospec.
AUTOSPEC_CONF = $(TOPLVL)/projects/common/autospec.conf
AUTOSPEC_CONF = $(TOPLVL)/projects/common/conf/autospec.conf
# Set this variable to any non-empty value to use the package mappings stored
# in "pkg-mapping" for cloning/pulling package repos.
USE_PACKAGE_MAPPING = yes
# Package manager config file. Default to the in-tree copy.
PM_CONF = $(TOPLVL)/projects/common/image-creator/yum.conf
# Package manager config file. Default to the in-tree copy of dnf.conf.
PM_CONF = $(TOPLVL)/projects/common/conf/dnf.conf
# Mock configuration file. Default to the in-tree copy.
MOCK_CONF = $(TOPLVL)/projects/common/koji-client-files/clear.cfg
MOCK_CONF = $(TOPLVL)/projects/common/conf/clear.cfg
# Include any site local configuration variables. These variables may override
+26 -2
View File
@@ -14,9 +14,9 @@ define loopup
@sudo partprobe /dev/loop$(DEVICE)
@sleep 1
@if [ -e /dev/loop$(DEVICE)p3 ]; then \
sudo mount /dev/loop$(DEVICE)p3 $(TOPLVL)/image; \
sudo mount /dev/loop$(DEVICE)p3 $(TOPLVL)/image; \
else \
sudo mount /dev/loop$(DEVICE)p2 $(TOPLVL)/image; \
sudo mount /dev/loop$(DEVICE)p2 $(TOPLVL)/image; \
fi
@sudo mount /dev/loop$(DEVICE)p1 $(TOPLVL)/image/boot
endef
@@ -138,6 +138,30 @@ localreponotice:
[ -f $(TOPLVL)/repo/opt-in-build ] || sleep 3; \
fi >&2
.PHONY: clean-old-rpms clean-old-logs clean-old-content
clean-old-rpms:
rm -rf ./rpms
rm -f ./results/*.rpm
clean-old-logs:
rm -f ./results/*.log
clean-old-content: clean-old-rpms clean-old-logs
.PHONY: require-pkg-repo-dir link-new-rpms
require-pkg-repo-dir:
@if [ -z ${PKG_REPO_DIR} ]; then \
echo "Please specify PKG_REPO_DIR to indicate package repo location."; \
exit 1; \
fi
link-new-rpms: require-pkg-repo-dir
mkdir -p ${PKG_REPO_DIR}/rpms
rm -f ${PKG_REPO_DIR}/rpms/*.rpm
find ${PKG_REPO_DIR}/results -maxdepth 1 -name '*.rpm' -exec ln {} ${PKG_REPO_DIR}/rpms/ \;
rm -f ${PKG_REPO_DIR}/rpms/*.src.rpm
.PHONY: help
##### Code
# Make sure that HELPSPACE has exactly HELPLEN spaces in it
+24 -15
View File
@@ -10,6 +10,7 @@ include $(TOPLVL)/projects/common/Makefile.shared
SHELL = /bin/bash
PKGS = $(shell cat $(PACKAGES_FILE))
PKGS_LOCAL = $(sort $(filter ${PKGS},$(subst packages/,,$(wildcard packages/*))))
proj_PKGS = $(addprefix proj_,$(PROJ_PKGS))
clone_PKGS = $(addprefix clone_,$(PKGS))
@@ -64,7 +65,7 @@ cvecheck:
#help of merge commits, while displaying any changes since your last pull. It is
#help silent if there are no changes.
.PHONY: pull ${PULL_PKGS}
PULL_PKGS:= $(addprefix PULL_projects/,$(PROJ_PKGS)) $(addprefix PULL_packages/,$(PKGS))
PULL_PKGS:= $(addprefix PULL_projects/,$(PROJ_PKGS)) $(addprefix PULL_packages/,${PKGS_LOCAL})
${PULL_PKGS}:
@p=$(patsubst PULL_%,%,$@) ; \
if [ ! -d "$$p/.git" ]; then echo "Nothing to pull for $$p - $$p/.git missing"; exit 0; fi; \
@@ -135,11 +136,11 @@ clean-pkgs-dir: $(PACKAGES_FILE)
done
@echo "packages directory cleaned";
clean_PKGS = $(addprefix clean_,$(PKGS))
clean_PKGS = $(addprefix clean_,$(PKGS_LOCAL))
#help clean: Run 'make clean' for every package.
clean: $(clean_PKGS)
proper_PKGS = $(addprefix proper_,$(PKGS))
proper_PKGS = $(addprefix proper_,$(PKGS_LOCAL))
#help proper: Run 'make proper' for every package, and purge the local
#help repo and image.
proper: $(proper_PKGS)
@@ -153,34 +154,34 @@ proper: $(proper_PKGS)
$(clean_PKGS):
@echo "cleaning $(patsubst clean_%,%,$@)"
-@$(MAKE) -s -j -C $(addprefix packages/,$(patsubst clean_%,%,$@)) clean
-@$(MAKE) -s -C $(addprefix packages/,$(patsubst clean_%,%,$@)) clean
$(proper_PKGS):
-@$(MAKE) -s -j -C $(addprefix packages/,$(patsubst proper_%,%,$@)) proper
-@$(MAKE) -s -C $(addprefix packages/,$(patsubst proper_%,%,$@)) proper
#help status: Runs git status for all package repos, thus displaying untracked
#help and unstaged files in addition to staged files.
status: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS))
@for p in projects/common $(addprefix packages/,$(PKGS)); do \
status: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
@for p in projects/common $(addprefix packages/,$(PKGS_LOCAL)); do \
if [ -d "$$p/.git" ] && [ -n "$$(git -C $$p status -uno --porcelain)" ]; then echo "Uncommitted changes in $$p:"; git -C "$$p" status --short; fi ;\
done
#help diff: Runs git diff for all package repos and displays the output using
#help diffstat. Requires that diffstat is installed.
diff: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS))
@for p in projects/common $(addprefix packages/,$(PKGS)); do \
diff: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
@for p in projects/common $(addprefix packages/,$(PKGS_LOCAL)); do \
(cd $$p ; git status | grep -q 'nothing to commit, working [^ ]* clean' || (echo "Uncommitted changes in: $$p"; git diff |diffstat -p1)) ;\
done
#help versions: Displays the version of each package in the ./packages tree.
versions: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS))
@for p in $(addprefix packages/,$(PKGS)); do \
versions: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
@for p in $(addprefix packages/,$(PKGS_LOCAL)); do \
(cd $$p; if ls *.spec &> /dev/null; then rpmspec -q --queryformat '%{NAME}-%{VERSION}\n' *.spec | head -n1; fi) ;\
done
#help releases: Like 'make versions', but also displays the release number.
releases: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS))
@for p in $(addprefix packages/,$(PKGS)); do \
releases: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS_LOCAL))
@for p in $(addprefix packages/,$(PKGS_LOCAL)); do \
(cd $$p; if ls *.spec &> /dev/null; then rpmspec -q --queryformat '%{NAME}-%{VERSION}-%{RELEASE}\n' *.spec | head -n1; fi) ;\
done
@@ -189,14 +190,20 @@ releases: $(PACKAGES_FILE) $(addprefix packages/,$(PKGS))
provides:
@$(TOPLVL)/projects/common/provides.sh -f $(FP) -r $(RN)
preautospecnew-checks:
#help autospecnew: Creates a new autospec package with for a given URL=$(URL)
#help with NAME=$(NAME). Several files used by autospec will be created in the
#help process. For more information about autospec, see the project page on Github https://github.com/clearlinux/autospec
autospecnew: localreponotice
#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
autospecnew: 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); \
@@ -215,9 +222,11 @@ autospecnew: localreponotice
--name $(NAME) \
--archives $(ARCHIVES) \
--mock-config $(MOCK_CONFIG_VAL) \
--mock-opts "$(MOCK_OPTS)" \
$${SETVERSION:+ --version $${SETVERSION}} \
${NON_INTERACTIVE} ${SKIP_GIT} ${CLEANUP} \
$(URL); \
[ $$? -eq 0 ] && $(MAKE) link-new-rpms PKG_REPO_DIR="${TOPLVL}/packages/${NAME}"; \
$(TOPLVL)/projects/common/checkblacklist.sh $(TOPLVL)/projects/common/blacklist $(TOPLVL)/packages/${NAME}/results/*.rpm; \
else \
echo "$(NAME) already exists at $(TOPLVL)/packages/$(NAME)"; \
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
BIN
View File
Binary file not shown.
+83 -36
View File
@@ -31,43 +31,13 @@ $ ./user-setup.sh
After the script completes, make sure to logout and login again to complete the
setup process.
The script either accepts no options, or all (3) options in case you are
configuring the Koji CLI for remote building on a Koji server. The options are
documented in the script's `--help` output.
The script accepts several options, or no options at all. The options are
documented in the script's `--help` output. Note that if you are supplying any
of the three Koji cert options (`-k`, `-s`, or `-c`), the other two options
must be supplied as well.
### Manual setup
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.
If you do not wish to run the user-setup script, see the "Manual setup" section
below for hints about how to initialize the tooling workspace.
## Example usage
@@ -132,6 +102,10 @@ $ echo missing-build-req >> buildreq_add
$ make autospec
```
Please see https://github.com/clearlinux/autospec#common-files for
documention on buildreq_add and the other files autospec uses during the
build process.
### Bump the release number for a package
If you simply need to increment a package's release number and rebuild the
@@ -141,3 +115,76 @@ package, a `make bump` command is available for this purpose.
$ make bump
$ make build
```
### Update the release version for a package
If you have an update release version for a package, you can change the url
for the new release in the package/example-pkg/Makefile. After modifying the
new url, run `make autospec` again to fetch the new package and rebuild.
```
$ make autospec
```
## Other topics
### Customizing the mock config
In the past, the various make commands that call `mock` required a mock config
installed at `/etc/mock/clear.cfg`. However, at present, the commands will
instead use the mock config within this repo (`conf/clear.cfg`).
If you wish to use a custom mock config, you must override the `MOCK_CONF`
variable to specify a different value to pass to mock's `-r` option. The value
is either a full path that ends with `.cfg`, or a config NAME installed at
`/etc/mock/<NAME>.cfg`. You can override the `MOCK_CONF` config variable by
redefining it in `Makefile.config.site_local`, which must reside at the
toplevel directory in this repo.
For example, to retain the old behavior of mock using `/etc/mock/clear.cfg`,
add this line to `Makefile.config.site_local`:
```
MOCK_CONF = /etc/mock/clear.cfg
```
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.
+31
View File
@@ -0,0 +1,31 @@
# Configuration files
This directory contains various configuration files used by the developer
tooling framework.
Unless otherwise noted in the config file documentation below, the config files
can be modified with custom, site-local changes by modifying a variable in
`Makefile.config.site_local` to point to a location of your choice (e.g.
somewhere in `/etc`). The framework will then read the config file from the
location you have specified instead, so copy the in-tree copy to that location
as a starting point if you need to.
* `autospec.conf`: default Autospec configuration file used by `make autospec`
and `make autospecnew`. All configuration is commented out by default, so
default Autospec settings are used. Config variable: `AUTOSPEC_CONF`
* `clear.cfg`: default Mock configuration file used by various targets that
call out to Mock. Config variable: `MOCK_CONF`
* `dnf.conf`: DNF conf for use as the package manager configuration file, made
available for the framework's local repo support. Config variable: `PM_CONF`
* `yum.conf`: YUM conf for use as the package manager configuration file, made
available for the framework's local repo support. Config variable: `PM_CONF`
* `koji.conf`: template Koji configuration file. It is installed by
`user-setup.sh` to `/etc/koji.conf`, and the in-tree copy is not used. If you
are using Koji with the framework, you will need to modify `/etc/koji.conf`
according to how the Koji instance is set up for your environment. Configuring
the installation location via `Makefile.config.site_local` is not possible at
the moment but is a planned feature.
+5 -1
View File
@@ -18,6 +18,10 @@
# an absolute path or a path relative to this autospec.conf.
#packages_file =
# Path to yum config, used for generating whatrequires. It can be an absolute
# Path to dnf/yum config, used for generating whatrequires. It can be an absolute
# path or a path relative to this autospec.conf.
#yum_conf =
# Path to autospec failed patterns directory, used to match build failure lines to
# package dependencies.
#failed_pattern_dir =
@@ -6,17 +6,22 @@ config_opts['dist'] = 'clear' # only useful for --resultdir variable subst
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
config_opts['useradd'] = '/usr/sbin/useradd -m -u %(uid)s -g %(gid)s -d %(home)s %(user)s'
config_opts['plugin_conf']['ccache_enable'] = False
config_opts['plugin_conf']['root_cache_opts']['compress_program'] = 'zstd -5'
config_opts['plugin_conf']['root_cache_opts']['extension'] = '.zst'
config_opts['releasever'] = 'clear'
config_opts['package_manager'] = 'dnf'
config_opts['chrootgroup'] = 'mockbuild'
config_opts['use_bootstrap_container'] = False
config_opts['yum.conf'] = """
config_opts['dnf.conf'] = """
[main]
cachedir=/var/cache/yum
cachedir=/var/cache/dnf
keepcache=1
debuglevel=1
reposdir=/dev/null
logfile=/var/log/yum.log
logfile=/var/log/dnf.log
retries=20
obsoletes=1
gpgcheck=0
+24
View File
@@ -0,0 +1,24 @@
[main]
keepcache=1
debuglevel=1
logfile=/var/log/dnf.log
exactarch=1
obsoletes=1
gpgcheck=0
plugins=0
retries=10
installonly_limit=3
reposdir=/root/mash
[clear]
name=Clear
baseurl=https://cdn.download.clearlinux.org/current/x86_64/os/
enabled=1
gpgcheck=0
[clear-source]
name=Clear sources
failovermethod=priority
baseurl=https://cdn.download.clearlinux.org/current/source/SRPMS/
enabled=1
gpgcheck=0
+1 -1
View File
@@ -82,7 +82,7 @@ sub find_file {
return $file;
}
open(BUILD_LOG, '<', "results/build.log") or die $!;
open(BUILD_LOG, '<', "results/logs/build.log") or die $!;
while (<BUILD_LOG>) {
if($_ =~ /(\S+):([0-9]*):([0-9]*): note: (basic block|loop) (vectorized)/) {
$fmv->{s_name} = (split('/',$1))[-1];
+7
View File
@@ -0,0 +1,7 @@
# This file contains SPDX license identifiers that are not defined in the
# latest version of SPDX but still needed (or possibly needed) for Clear Linux
# packages.
GFDL-1.3+
MIT-Opengroup
WXwindows
w3c
+150 -87
View File
@@ -1,56 +1,63 @@
0BSD
AAL
Abstyles
Adobe-2006
Adobe-Glyph
ADSL
AFL-1.1
AFL-1.2
AFL-2.0
AFL-2.1
AFL-3.0
Afmparse
AGPL-1.0
AGPL-1.0-only
AGPL-1.0-or-later
AGPL-3.0
Aladdin
AGPL-3.0-only
AGPL-3.0-or-later
AMDPLPA
AML
AMPAS
ANTLR-PD
Apache-1.0
Apache-1.1
Apache-2.0
APAFML
APL-1.0
APSL-1.0
APSL-1.1
APSL-1.2
APSL-2.0
Abstyles
Adobe-2006
Adobe-Glyph
Afmparse
Aladdin
Apache-1.0
Apache-1.1
Apache-2.0
Artistic-1.0
Artistic-1.0-cl8
Artistic-1.0-Perl
Artistic-1.0-cl8
Artistic-2.0
BSD-1-Clause
BSD-2-Clause
BSD-2-Clause-FreeBSD
BSD-2-Clause-NetBSD
BSD-2-Clause-Patent
BSD-3-Clause
BSD-3-Clause-Attribution
BSD-3-Clause-Clear
BSD-3-Clause-LBNL
BSD-3-Clause-No-Nuclear-License
BSD-3-Clause-No-Nuclear-License-2014
BSD-3-Clause-No-Nuclear-Warranty
BSD-4-Clause
BSD-4-Clause-UC
BSD-Protection
BSD-Source-Code
BSL-1.0
Bahyph
Barr
Beerware
BitTorrent-1.0
BitTorrent-1.1
Borceux
BSD-2-Clause
BSD-2-Clause-FreeBSD
BSD-2-Clause-NetBSD
BSD-3-Clause
BSD-3-Clause-Attribution
BSD-3-Clause-Clear
BSD-3-Clause-LBNL
BSD-4-Clause
BSD-4-Clause-UC
BSD-Protection
BSL-1.0
bzip2-1.0.5
bzip2-1.0.6
Caldera
CATOSL-1.1
CC0-1.0
CC-BY-1.0
CC-BY-2.0
CC-BY-2.5
@@ -81,96 +88,117 @@ CC-BY-SA-2.0
CC-BY-SA-2.5
CC-BY-SA-3.0
CC-BY-SA-4.0
CC0-1.0
CDDL-1.0
CDDL-1.1
CDLA-Permissive-1.0
CDLA-Sharing-1.0
CECILL-1.0
CECILL-1.1
CECILL-2.0
CECILL-2.1
CECILL-B
CECILL-C
ClArtistic
CNRI-Jython
CNRI-Python
CNRI-Python-GPL-Compatible
Condor-1.1
CPAL-1.0
CPL-1.0
CPOL-1.02
Crossword
CUA-OPL-1.0
Caldera
ClArtistic
Condor-1.1
Crossword
CrystalStacker
Cube
D-FSL-1.0
diffmark
DOC
Dotseqn
DSDP
dvipdfm
Dotseqn
ECL-1.0
ECL-2.0
eCos-2.0
EFL-1.0
EFL-2.0
eGenix
Entessa
EPL-1.0
ErlPL-1.1
EPL-2.0
EUDatagrid
EUPL-1.0
EUPL-1.1
EUPL-1.2
Entessa
ErlPL-1.1
Eurosym
Fair
Frameworx-1.0
FreeImage
FSFAP
FSFUL
FSFULLR
FTL
Fair
Frameworx-1.0
FreeImage
GFDL-1.1
GFDL-1.1-only
GFDL-1.1-or-later
GFDL-1.2
GFDL-1.2-only
GFDL-1.2-or-later
GFDL-1.3
GFDL-1.3+
Giftware
GFDL-1.3-only
GFDL-1.3-or-later
GL2PS
Glide
Glulxe
gnuplot
GPL-1.0
GPL-1.0+
GPL-1.0-only
GPL-1.0-or-later
GPL-2.0
GPL-2.0+
GPL-2.0-only
GPL-2.0-or-later
GPL-2.0-with-GCC-exception
GPL-2.0-with-autoconf-exception
GPL-2.0-with-bison-exception
GPL-2.0-with-classpath-exception
GPL-2.0-with-font-exception
GPL-2.0-with-GCC-exception
GPL-3.0
GPL-3.0+
GPL-3.0-with-autoconf-exception
GPL-3.0-only
GPL-3.0-or-later
GPL-3.0-with-GCC-exception
gSOAP-1.3b
HaskellReport
GPL-3.0-with-autoconf-exception
Giftware
Glide
Glulxe
HPND
HaskellReport
IBM-pibs
ICU
IJG
ImageMagick
iMatix
Imlib2
Intel
Intel-ACPI
IPA
IPL-1.0
ISC
JasPer-2.0
ImageMagick
Imlib2
Info-ZIP
Intel
Intel-ACPI
Interbase-1.0
JSON
Latex2e
Leptonica
JasPer-2.0
LAL-1.2
LAL-1.3
LGPL-2.0
LGPL-2.0+
LGPL-2.0-only
LGPL-2.0-or-later
LGPL-2.1
LGPL-2.1+
LGPL-2.1-only
LGPL-2.1-or-later
LGPL-3.0
LGPL-3.0+
Libpng
libtiff
LGPL-3.0-only
LGPL-3.0-or-later
LGPLLR
LPL-1.0
LPL-1.02
LPPL-1.0
@@ -178,17 +206,20 @@ LPPL-1.1
LPPL-1.2
LPPL-1.3a
LPPL-1.3c
MakeIndex
MirOS
Latex2e
Leptonica
LiLiQ-P-1.1
LiLiQ-R-1.1
LiLiQ-Rplus-1.1
Libpng
Linux-OpenIB
MIT
MIT-advertising
MIT-0
MIT-CMU
MIT-advertising
MIT-enna
MIT-feh
MIT-Opengroup
MITNFA
Motosoto
mpich2
MPL-1.0
MPL-1.1
MPL-2.0
@@ -196,26 +227,33 @@ MPL-2.0-no-copyleft-exception
MS-PL
MS-RL
MTLL
MakeIndex
MirOS
Motosoto
Multics
Mup
NASA-1.3
Naumen
NBPL-1.0
NCSA
NetCDF
Newsletr
NGPL
NLOD-1.0
NLPL
Nokia
NOSL
Noweb
NPL-1.0
NPL-1.1
NPOSL-3.0
NRL
NTP
Naumen
Net-SNMP
NetCDF
Newsletr
Nokia
Noweb
Nunit
OCCT-PL
OCLC-2.0
ODC-By-1.0
ODbL-1.0
OFL-1.0
OFL-1.1
@@ -237,77 +275,102 @@ OLDAP-2.6
OLDAP-2.7
OLDAP-2.8
OML
OpenSSL
OPL-1.0
OSET-PL-2.1
OSL-1.0
OSL-1.1
OSL-2.0
OSL-2.1
OSL-3.0
OpenSSL
PDDL-1.0
PHP-3.0
PHP-3.01
Plexus
PostgreSQL
psfrag
psutils
Python-2.0
Qhull
QPL-1.0
Rdisc
Qhull
RHeCos-1.1
RPL-1.1
RPL-1.5
RPSL-1.0
RSA-MD
RSCPL
Rdisc
Ruby
Saxpath
SAX-PD
SCEA
SGI-B-1.0
SGI-B-1.1
SGI-B-2.0
SimPL-2.0
SISSL
SISSL-1.2
Sleepycat
SMLNJ
SMPPL
SNIA
SPL-1.0
SWL
Saxpath
Sendmail
SimPL-2.0
Sleepycat
Spencer-86
Spencer-94
Spencer-99
StandardML-NJ
SugarCRM-1.1.3
SWL
TCL
TCP-wrappers
TMate
TORQUE-1.1
TOSL
TU-Berlin-1.0
TU-Berlin-2.0
UPL-1.0
Unicode-DFS-2015
Unicode-DFS-2016
Unicode-TOU
Unlicense
Vim
VOSTROM
VSL-1.0
Vim
W3C
W3C-19980720
W3C-20150513
WTFPL
Watcom-1.0
Wsuipa
WTFPL
WXwindows
X11
Xerox
XFree86-1.1
xinetd
Xnet
xpp
XSkat
Xerox
Xnet
YPL-1.0
YPL-1.1
ZPL-1.1
ZPL-2.0
ZPL-2.1
Zed
Zend-2.0
Zimbra-1.3
Zimbra-1.4
Zlib
bzip2-1.0.5
bzip2-1.0.6
curl
diffmark
dvipdfm
eCos-2.0
eGenix
gSOAP-1.3b
gnuplot
iMatix
libtiff
mpich2
psfrag
psutils
wxWindows
xinetd
xpp
zlib-acknowledgement
ZPL-1.1
ZPL-2.0
ZPL-2.1
w3c
+1922 -40
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -23,7 +23,7 @@ if [ "$#" -eq 0 ]; then
fi
if [ ! -e /etc/yum.conf ]; then
echo "Error: yum.conf is missing. Please copy projects/common/image-creator/yum.conf to /etc"
echo "Error: yum.conf is missing. Please copy projects/common/conf/yum.conf to /etc"
exit 1
fi
+10 -1
View File
@@ -43,15 +43,24 @@ if [ ! -f "$IMAGE" ]; then
fi
rm -f debug.log
# 10/25/2018: keep back compatibility for a while
UEFI_BIOS="-bios OVMF.fd"
if [ -f OVMF_VARS.fd -a -f OVMF_CODE.fd ]; then
UEFI_BIOS=" -drive file=OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on "
UEFI_BIOS+=" -drive file=OVMF_VARS.fd,if=pflash,format=raw,unit=1 "
fi
VMN=${VMN:=1}
qemu-system-x86_64 \
-enable-kvm \
-bios OVMF.fd \
${UEFI_BIOS} \
-smp sockets=1,cpus=4,cores=2 -cpu host \
-m 1024 \
-vga none -nographic \
-drive file="$IMAGE",if=virtio,aio=threads,format=raw \
-netdev user,id=mynet0,hostfwd=tcp::${VMN}0022-:22,hostfwd=tcp::${VMN}2375-:2375 \
-device virtio-net-pci,netdev=mynet0 \
-device virtio-rng-pci \
-debugcon file:debug.log -global isa-debugcon.iobase=0x402 $@
+143 -101
View File
@@ -1,102 +1,136 @@
#!/bin/sh
#!/bin/bash
SCRIPT=$(/usr/bin/basename $0)
PEM=""
SERVERCA=""
CLIENTCA=""
WORKSPACE="clearlinux"
PACKAGE_REPOS=
NEEDS_KVM_GROUP=
help() {
printf "%s\n" >&2 "Usage: $SCRIPT [options]" \
"" \
"Options:" \
"-k --client-cert PEM_FILE: Enable client user cert for koji configuration; requires a PEM file argument" \
"-s --server-ca PEM_FILE: Enable server CA cert for koji configuration; requires a PEM file argument" \
"-c --client-ca PEM_FILE: Enable client CA cert for koji configuration; requires a PEM file argument" \
""
printf "%s\n" >&2 "Usage: $SCRIPT [options]" \
"" \
"Options:" \
"" \
"-d --directory NAME: Set up workspace in the given directory." \
"-a --clone-packages: Clone all package repos." \
"-j --jobs [NUM]: Clone repos with NUM jobs. If NUM is not given, it is set to the available CPU count." \
"" \
"-k --client-cert PEM_FILE: Enable client user cert for koji configuration; requires a PEM file argument" \
"-s --server-ca PEM_FILE: Enable server CA cert for koji configuration; requires a PEM file argument" \
"-c --client-ca PEM_FILE: Enable client CA cert for koji configuration; requires a PEM file argument" \
""
}
error() {
echo -e "Error: $1\n" >&2
help
exit 1
}
while [ $# -gt 0 ]; do
case "$1" in
"--help"|"-h")
help
exit 0
;;
"--client-cert"|"-k")
shift
PEM="$PWD/$1"
;;
"--server-ca"|"-s")
shift
SERVERCA="$PWD/$1"
;;
"--client-ca"|"-c")
shift
CLIENTCA="$PWD/$1"
;;
*)
help
exit 1
;;
esac
shift
case "$1" in
"--help"|"-h")
help
exit 0
;;
"--client-cert"|"-k")
shift
PEM="$(realpath $1)"
;;
"--server-ca"|"-s")
shift
SERVERCA="$(realpath $1)"
;;
"--client-ca"|"-c")
shift
CLIENTCA="$(realpath $1)"
;;
"--jobs"|"-j")
if echo "$2" | grep -qx "[1-9][0-9]*"; then
shift
JOBS="$1"
elif [ -f /proc/cpuinfo ]; then
JOBS=$(grep -Ec '^processor.*:.*[0-9]+$' /proc/cpuinfo)
fi
;;
"--directory"|"-d")
[ -z "$2" ] && error "Must supply a directory name to the -d option"
[ "${2:0:1}" = "-" ] && error "Directory name cannot begin with \"-\""
shift
WORKSPACE="$1"
;;
"--clone-packages"|"-a")
PACKAGE_REPOS=1
;;
*)
help
exit 1
;;
esac
shift
done
error() {
echo -e "Error: $1\n" >&2
help
exit 1
}
if [ -z "$PEM" ] && [ -z "$SERVERCA" ] && [ -z "$CLIENTCA" ]; then
USE_KOJI=
USE_KOJI=
else
if [ -z "$PEM" ] || [ -z "$SERVERCA" ] || [ -z "$CLIENTCA" ]; then
error "Must specify all three command line options (or none)"
fi
if [ ! -f "$PEM" ]; then
error "Missing koji client PEM key file"
fi
if [ ! -f "$SERVERCA" ]; then
error "Missing koji server CA PEM file"
fi
if [ ! -f "$CLIENTCA" ]; then
error "Missing koji client CA PEM file"
fi
USE_KOJI="yes"
if [ -z "$PEM" ] || [ -z "$SERVERCA" ] || [ -z "$CLIENTCA" ]; then
error "Must specify all three command line options (or none)"
fi
if [ ! -f "$PEM" ]; then
error "Missing koji client PEM key file"
fi
if [ ! -f "$SERVERCA" ]; then
error "Missing koji server CA PEM file"
fi
if [ ! -f "$CLIENTCA" ]; then
error "Missing koji client CA PEM file"
fi
USE_KOJI="yes"
fi
if [ -n "$JOBS" ]; then
JOBS_ARG="-j $JOBS"
fi
if [ -d "$WORKSPACE" ]; then
error "Directory \"$WORKSPACE\" already exists. \
Either remove this workspace, or use a different workspace name."
fi
required_progs() {
local bindir="/usr/bin"
for f in git mock rpm rpmbuild ; do
[ ! -x "${bindir}/${f}" ] && missing+="${f} "
done
[ "$PEM" ] && [ ! -x /usr/bin/koji ] && missing+="koji "
if [ -n "$missing" ]; then
echo "Install the following programs and re-run this script:" >&2
echo $missing >&2
echo 'All programs should be provided in the "os-clr-on-clr" bundle.' >&2
exit 1
fi
local bindir="/usr/bin"
for f in git mock rpm rpmbuild ; do
[ ! -x "${bindir}/${f}" ] && missing+="${f} "
done
[ "$PEM" ] && [ ! -x /usr/bin/koji ] && missing+="koji "
if [ -n "$missing" ]; then
echo "Install the following programs and re-run this script:" >&2
echo $missing >&2
echo 'All programs should be provided in the "os-clr-on-clr" bundle.' >&2
exit 1
fi
}
required_progs
echo 'Initializing development workspace in "clearlinux" . . .'
if [ -d "clearlinux" ]; then
echo 'Directory "clearlinux" already exists in current directory.' >&2
echo "Cannot initialize workspace." >&2
exit 1
if ! groups | grep -qw kvm; then
NEEDS_KVM_GROUP=1
fi
mkdir clearlinux
cd clearlinux
echo "Initializing development workspace in \"$WORKSPACE\" . . ."
mkdir "$WORKSPACE"
cd "$WORKSPACE"
echo "Setting up common repo . . ."
mkdir projects
git clone https://github.com/clearlinux/common projects/common
if [ $? -ne 0 ]; then
echo "Failed to clone common repo." >&2
exit 1
echo "Failed to clone common repo." >&2
exit 1
fi
# Finish setup for packages/projects hierarchy
@@ -105,48 +139,56 @@ mkdir -p packages/common
ln -sf ../../projects/common/Makefile.common packages/common/Makefile.common
if [ "$USE_KOJI" ]; then
echo "Setting up koji certs . . ."
mkdir -p ~/.koji
cp "$PEM" ~/.koji/client.crt
cp "$CLIENTCA" ~/.koji/clientca.crt
cp "$SERVERCA" ~/.koji/serverca.crt
echo "Setting up koji certs . . ."
mkdir -p ~/.koji
cp "$PEM" ~/.koji/client.crt
cp "$CLIENTCA" ~/.koji/clientca.crt
cp "$SERVERCA" ~/.koji/serverca.crt
if [ ! -f /etc/koji.conf ]; then
echo "Setting up koji config . . ."
sudo cp projects/common/koji-client-files/koji.conf /etc
fi
if [ ! -f /etc/koji.conf ]; then
echo "Setting up koji config . . ."
sudo cp projects/common/conf/koji.conf /etc
fi
fi
if [ ! -f /etc/mock/clear.cfg ]; then
echo "Setting up mock config . . ."
sudo mkdir -p /etc/mock
sudo cp projects/common/koji-client-files/clear.cfg /etc/mock
if [ -n "$NEEDS_KVM_GROUP" ]; then
echo "Adding user to kvm group . . ."
sudo usermod -a -G kvm $USER
fi
echo "Adding user to kvm group . . ."
sudo usermod -a -G kvm $USER
echo "Cloning special project repositories . . ."
make clone-projects
make ${JOBS_ARG} clone-projects
if [ -z "$NO_PACKAGE_REPOS" ]; then
echo "Cloning all package repositories . . ."
make clone-packages
if [ -n "$PACKAGE_REPOS" ]; then
echo "Cloning all package repositories . . ."
make ${JOBS_ARG} clone-packages
fi
echo "Creating mix workspace . . ."
mkdir -p mix
if [ "$USE_KOJI" ]; then
echo "Testing koji installation . . ."
if koji moshimoshi; then
echo -en "\n************************\n\n"
echo "Koji installed and configured successfully"
else
echo -en "\n************************\n\n"
echo "Error with koji installation or configuration" >&2
exit 1
fi
echo "Testing koji installation . . ."
if koji moshimoshi; then
echo -en "\n************************\n\n"
echo "Koji installed and configured successfully"
else
echo -en "\n************************\n\n"
echo "Error with koji installation or configuration" >&2
exit 1
fi
fi
echo -en "\n************************\n"
echo 'Workspace has been set up in the "clearlinux" directory'
echo 'NOTE: logout and log back in to finalize the setup process'
echo "Workspace has been set up in \"$WORKSPACE\""
if [ -z "$PACKAGE_REPOS" ]; then
echo "NOTE: To clone all package repos, run \"cd $WORKSPACE; make [-j NUM] clone-packages\""
echo "NOTE: To clone a single package repo with NAME, run \"cd $WORKSPACE; make clone_NAME\""
fi
if [ -n "$NEEDS_KVM_GROUP" ]; then
echo 'NOTE: logout and log back in to finalize the setup process'
fi
# vi: ft=sh sw=2 et sts=2