Compare commits
	
		
			1065 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 525c7dd0ee | |||
| 744eb3ca96 | |||
| 3dd3f806ef | |||
| fa245021bf | |||
| fd74b22bc2 | |||
| 538e5051e5 | |||
| ba2542c697 | |||
| 23c6cecdcc | |||
| 828844fd9a | |||
| 760f5e8281 | |||
| bb1585ad7b | |||
| be6506d6ee | |||
| 35a9c2f305 | |||
| 5347f45cc5 | |||
| c7f11a5bd5 | |||
| f3794ff2ad | |||
| c6811cca48 | |||
| a1f296ff2b | |||
| ac5e0f4b3d | |||
| 2ecfb04dc6 | |||
| e81eac2021 | |||
| e612d2c6d2 | |||
| 2bed697813 | |||
| ba4ac669e7 | |||
| 47babd20fd | |||
| d35422a74e | |||
| 94b8957494 | |||
| a0a485294c | |||
| 7b67601e44 | |||
| 8db0c1ca39 | |||
| 190340e375 | |||
| f7a61731ba | |||
| e959ce10c3 | |||
| d2bbf9d8c4 | |||
| 1dafa0fb38 | |||
| 982a9ed678 | |||
| 19a6ff09f1 | |||
| fac634cf14 | |||
| 71ed464c33 | |||
| f7286a0661 | |||
| aee7c07a04 | |||
| fbcfa79426 | |||
| 87bd203d3e | |||
| ac0472d9ff | |||
| e80c07d2fc | |||
| 7584684bea | |||
| e415aa67b9 | |||
| b2512ffe68 | |||
| 1d8b7e83dc | |||
| e237afd788 | |||
| 5d7f006ad9 | |||
| 72104728ac | |||
| 423896750a | |||
| ad09046044 | |||
| c335cab68c | |||
| e744e80c57 | |||
| 06bcd79858 | |||
| dbb63dcd5e | |||
| 4e510b2f1e | |||
| f06ac2c369 | |||
| 736bac6dd7 | |||
| 1fd3b796c5 | |||
| 4c534f87b8 | |||
| 38284c5c14 | |||
| 5e7decee42 | |||
| dc606af137 | |||
| 5253f81f0a | |||
| 00ed72f96e | |||
| 70839d8609 | |||
| 65a29f73cc | |||
| d72df66e99 | |||
| 221cc796c0 | |||
| 3ed0c310a3 | |||
| b1213d5c2c | |||
| 26dffde972 | |||
| 915eca6c2e | |||
| a52e32d740 | |||
| 34ed4ef723 | |||
| aaa319c67a | |||
| 3304c888a5 | |||
| 095c7ced45 | |||
| f4eef7a3cd | |||
| 6fc1850f1f | |||
| c0a3a7e796 | |||
| 08fff866ed | |||
| 8bef697c44 | |||
| a6eadf1af4 | |||
| 2595cd2a3a | |||
| 1917c252aa | |||
| 4c458bf242 | |||
| 5b00c80698 | |||
| 98c3c8c5b0 | |||
| 0786c46474 | |||
| d22406b308 | |||
| 87ea01db9b | |||
| cb347b511a | |||
| e15d70f732 | |||
| 5ad0d72378 | |||
| f8dccbf59e | |||
| a3bcbd40d2 | |||
| 7a6c7e61de | |||
| b517c7dcf8 | |||
| b5c3decf9b | |||
| de2d4bb4de | |||
| f2eb80f1ab | |||
| 5f2ac0a406 | |||
| 473a5ce6aa | |||
| f511f7c0e9 | |||
| bbca425bf8 | |||
| 10fe40eccb | |||
| 6ce9a5b751 | |||
| 108dcf620a | |||
| 7fc2909a29 | |||
|   | f248c20401 | ||
| 1516ef432e | |||
| cc3bd8049c | |||
| 13d6f8ba37 | |||
| d5b6c66288 | |||
| 01bf335f33 | |||
| cb04bde572 | |||
| f350a08f1e | |||
| d896809af3 | |||
| d659e70b55 | |||
| e7b9ad928d | |||
| b612484aff | |||
| d46b663ce2 | |||
| 5972016672 | |||
| eb78a8d641 | |||
| 6787d5fafb | |||
| 2a0c08e34b | |||
| b48b056194 | |||
| 50b71dfb55 | |||
| f8075b7bd4 | |||
| 0912e6f74a | |||
| 9af4fe14f2 | |||
| 943350f4ec | |||
| e8075e436d | |||
| 48804b67f1 | |||
| cf60c6f544 | |||
| e39aeb62ca | |||
| 8dbe5a1c19 | |||
| 689e0d5e62 | |||
| d1b620945a | |||
| 2ba8cb4fa5 | |||
| 278a6d17a7 | |||
| d068fa6b75 | |||
| 70e93c3843 | |||
| 8a0168cbe5 | |||
| c2082be241 | |||
| d5d89cf7a4 | |||
| cc8c2fe38e | |||
| 9bf2bd2671 | |||
| eb638abdfe | |||
| 332cc9751b | |||
| f86e36c361 | |||
| 2edcd2fd54 | |||
| 80887fba39 | |||
| bd07105192 | |||
| 02edf46d6a | |||
| 860d2272ba | |||
| 0d9e54c4e3 | |||
| 26bd425d55 | |||
| c08f82044c | |||
| 74af21ca25 | |||
| e3b8439b04 | |||
| e00096d503 | |||
| f7ebc6bd11 | |||
| b5fa7084b2 | |||
| 7eabdb0e46 | |||
| 10c013bf33 | |||
| 74618d77a5 | |||
| 196761740b | |||
| a814655956 | |||
| 7b03050ab9 | |||
| 0b1ff8d060 | |||
| f66761aa57 | |||
| f33d9bdac1 | |||
| f50c66cdd7 | |||
| fd1bc87ef0 | |||
| 9da1ae8e31 | |||
| 52ecf8d463 | |||
| 38fa79e10b | |||
| a53fb9e839 | |||
| 1d85f8000c | |||
| 21c44dba79 | |||
| f4e3abae46 | |||
| a7cef500ad | |||
| f7c29d1c98 | |||
| f1b2af947b | |||
| 5637ba0f8f | |||
| a383531e5d | |||
| 6b4acbdd94 | |||
| b7fd0a4e41 | |||
| b734357ea9 | |||
| 74d44873e7 | |||
| 91e038c3f5 | |||
| 8548a584f3 | |||
| 38fb213e13 | |||
| fade611ae7 | |||
| 8cdb68ce6a | |||
| 7d949afeb7 | |||
| 6f037f6faf | |||
| ba1e6644ea | |||
| 3f90082cc1 | |||
| 915db85b7d | |||
| a5a29259e5 | |||
| c5f8bc7e20 | |||
| 11dd9be3f1 | |||
| f058b9155b | |||
| 7c3d1343e8 | |||
| 80b14b7f1f | |||
| 29a1e98c0e | |||
| 8bcb311bbd | |||
| 0c5816fac2 | |||
| 4b802be860 | |||
| 8621191465 | |||
| b019f42ee1 | |||
| 205d668630 | |||
| 3ae2972d2b | |||
| 5ad1bb49d1 | |||
| b7e7e4c53a | |||
| 5c58a6cc5b | |||
| a12d0a4778 | |||
| 4293f5a967 | |||
| d3e42f60e1 | |||
| 7605aaf55c | |||
| b57c5e668c | |||
| db17939f7d | |||
| 0818ea40e8 | |||
| 9b2a478aed | |||
| 2c3578a850 | |||
| 2dcb55cef4 | |||
| 81d890cead | |||
| 33685e164d | |||
| f419683149 | |||
| 54f31daccb | |||
| be0cfb636e | |||
| 4108a038fa | |||
| 4634c78520 | |||
| a9409d3837 | |||
| 02c3a079a2 | |||
| 72993117fa | |||
| 6e0c336c67 | |||
| a396dafed9 | |||
| c613471459 | |||
| 7abd0c9453 | |||
| 390cc84bbf | |||
| 2f1cf770cd | |||
| 2f5a374523 | |||
| 76ca2dfdc7 | |||
| f05688dc12 | |||
| 091b5deaa8 | |||
| 93e4beb61f | |||
| 76b4ff511d | |||
| 2995207e6b | |||
| 5aa8bd3333 | |||
| 699ea06445 | |||
| 4b9a883113 | |||
| 74ab2c71b1 | |||
| 1f64eba1e6 | |||
| 442d397ac0 | |||
| 35dbadef56 | |||
| a9852e82e5 | |||
| ae723c88df | |||
| f08ce91d81 | |||
| 887ed0c343 | |||
| 1baf774b53 | |||
| 2a8f36c914 | |||
| ea2231980c | |||
| 1ebb75a09c | |||
| ee3329223d | |||
| bfed603033 | |||
| 6721a997bd | |||
| 6da82fb56b | |||
| 07ad0ef44a | |||
| 6e5e89f164 | |||
| 6494c1f787 | |||
| 5d7abf194a | |||
| 12fb8aa279 | |||
| d5e3d86210 | |||
| bfb20645c6 | |||
| 0b2973e802 | |||
| 887a587954 | |||
| 59c664fb30 | |||
| 75a9c79c72 | |||
| 00821f6e26 | |||
| ceb83ff765 | |||
| 8b3f5899d3 | |||
| c1956b0139 | |||
| 4206fdeff1 | |||
| ae41ba16c6 | |||
| cf87f88580 | |||
| 76e97b3702 | |||
| d1b2da317f | |||
| e59680bf11 | |||
| defafdecce | |||
| 2c21030758 | |||
| e29cd8817a | |||
| e551f42888 | |||
| ad33bccd49 | |||
| 31eeaa9a0d | |||
| f5daac0d67 | |||
| 2484ea39a4 | |||
| 9b222bdb83 | |||
| a3e6b17c5f | |||
| 21a37f6b00 | |||
| 80416b76d5 | |||
| 2113ffe4c6 | |||
| 438473c878 | |||
| 86c5c2f47b | |||
| d333c245c0 | |||
| 4a650f00d7 | |||
| 08b73032a2 | |||
| 1a250c2167 | |||
| 46431619f2 | |||
| 12d2159c12 | |||
| 3865ceab58 | |||
| 890e631e1b | |||
| 273e928905 | |||
| f5c328f8e5 | |||
| 4089151791 | |||
| 211579f9d7 | |||
| 2a85209e1e | |||
| 40d691bc85 | |||
| d9da64eb51 | |||
| 5902f987cc | |||
| bfa888251e | |||
| 0ecfa1a0f6 | |||
| e60180ebdb | |||
| 20b65d06c8 | |||
| c7728c2e5b | |||
| a0ca1ab3a4 | |||
| 911a0fff36 | |||
| f80c51e8d3 | |||
| 1e948b3ef5 | |||
| bf0a9bc7fc | |||
| a4a690951c | |||
| e05765269e | |||
| 3df364189b | |||
| 974df38738 | |||
| 7b831d8867 | |||
| 7bf4dff1a1 | |||
| 529e73e2ab | |||
| 7be420a24f | |||
| cd76f7d3cf | |||
| 918b95db58 | |||
| 77c464d603 | |||
| 55945b8975 | |||
| f83cc2a4a8 | |||
| 6d5dbc5774 | |||
| 36ee26e18c | |||
| 0b9e18ed5b | |||
| b26b6da61c | |||
| e1f762cd91 | |||
| ee55448fe0 | |||
| b3415307b1 | |||
| 2516fccc3b | |||
| 45ecb59ffd | |||
| 11fff303f9 | |||
| b05d1c999f | |||
| 1572c94389 | |||
| 601f7c30ba | |||
| 2f37832558 | |||
| bf70341af9 | |||
| ea3a06a9bc | |||
| 812cf9a317 | |||
| 70aa91ddd8 | |||
| 15407b612a | |||
| 8d4adb5b47 | |||
| 85659bfa5e | |||
| f0799f85e4 | |||
| 3810656411 | |||
| 79b99440fc | |||
| d353cd8d46 | |||
| 90623d0485 | |||
| 2c0c3b2032 | |||
| a463f22118 | |||
| 86504ac676 | |||
| 450ac445e4 | |||
| 56b350ffd0 | |||
| a6c4513867 | |||
| c50715f258 | |||
| 77296c4527 | |||
| 3f419cc41e | |||
| 60d7ac62a5 | |||
| 8cc8b66e7f | |||
| 0ae8c16801 | |||
| bb674109ed | |||
| ede2ac11e2 | |||
| e8913b07c3 | |||
| f5f9a2acb8 | |||
| c6f7df51d2 | |||
| b105207138 | |||
| 55e98abdc1 | |||
| 896c031ea9 | |||
| 8f16db45e8 | |||
| 47ee03e1a4 | |||
| 17f49857e2 | |||
| 68e23f7e47 | |||
| c5228a8b43 | |||
| 84151f360f | |||
| a6ca83be7e | |||
| 0a07a1f1dd | |||
| 9dedb2e4cb | |||
| dcf6ec1d7b | |||
| 62022faad7 | |||
| dea81dd9f9 | |||
| e49d2d77bd | |||
| 4a06d4d2eb | |||
| 231d054ee9 | |||
| 2945493eb7 | |||
| 0f037f1106 | |||
| 6c4197e76d | |||
| 8ebdad278e | |||
| 2bacf6d19e | |||
| 6700e1a2e6 | |||
| f874c8c399 | |||
| 1a5ea6c4ee | |||
| 486acaf47a | |||
| d5ba8ed404 | |||
| daf4c8283e | |||
| 7b65c27025 | |||
| 433a747da9 | |||
| 015c4f0658 | |||
| b1dd485ec0 | |||
| 316514698e | |||
| 614d6e19c8 | |||
| 9c650134c4 | |||
| b849cadbae | |||
| f1067bcd60 | |||
| 3942dde012 | |||
| 30a6c61f52 | |||
| d8195e2288 | |||
| bfe9130cfb | |||
| 8873a71824 | |||
| bb86a05f2f | |||
| bd611c1af2 | |||
| f4e8f703ea | |||
| aa83bc79bb | |||
| 1bb9687ece | |||
| 48ced03735 | |||
| 0437e66091 | |||
| 9af6d02dea | |||
| 685992cca3 | |||
| 816e13895f | |||
| 6a3f48f181 | |||
| b4d9195c03 | |||
| 0123e6d044 | |||
| e2b2a21ed1 | |||
| 0e2e2875db | |||
| a4d006adef | |||
| 98926fbdd0 | |||
| a1a2289e18 | |||
| 057cbf1691 | |||
| 0b05cbeba1 | |||
| ed5dad3066 | |||
| 76cce316a2 | |||
| 7c152b4f60 | |||
| 79c831c616 | |||
| 6b27c82b86 | |||
| 2cc5047dda | |||
| 08ab8c2137 | |||
| 9ddd962c2c | |||
| a8c07bd7f3 | |||
| 1fcf78bb47 | |||
| 167265944d | |||
| 7ef931026e | |||
| bef2a0b3fa | |||
| 8d6f12f5a9 | |||
| bf6fc3fcff | |||
| 11c73f1086 | |||
| 62e4795000 | |||
| 2f92ba003b | |||
| c19b80adbd | |||
| 1812296bc3 | |||
| cfb3ced261 | |||
| 77c7d1db8e | |||
| eb9f03c5c1 | |||
| 16d0c1759d | |||
| 922afb4e69 | |||
| d22017e1a1 | |||
| 1ea7d2ca8b | |||
| 3cd8632c61 | |||
| b425eac181 | |||
| 4b2d516258 | |||
| defd0c7ad6 | |||
| cf0cd1772e | |||
| 761ccf7644 | |||
| 5684aab444 | |||
| df8d8fb4a0 | |||
| be5fa4af09 | |||
| f0b84c0442 | |||
| f0262f3cbd | |||
| 1905aef7d7 | |||
| 0a80e2b4e1 | |||
| 4679c59de0 | |||
| f308217f62 | |||
| 0cd97b0b1d | |||
| a4956dba6e | |||
| 8738706db2 | |||
| 5ca22931dd | |||
| 652ddcd3a9 | |||
| 7c60916356 | |||
| b4e6dface6 | |||
| fa38579488 | |||
| 07c1605666 | |||
| bfde5dbbb1 | |||
| 0918ff749d | |||
| 3d3e4376c5 | |||
| 7499878d00 | |||
| d9e99543f6 | |||
| 43983042dd | |||
| 1b5f09076f | |||
| d770030869 | |||
| ea06ec0b2e | |||
| e67990ae04 | |||
| b37d5f0236 | |||
| 989af04593 | |||
| 90f46d7ecc | |||
| 8e872ca9ca | |||
| 05c95b7025 | |||
| 442aee08df | |||
| 2c497f663b | |||
| 9a84cdedd5 | |||
| bcc807ebbc | |||
| 6b00319bfc | |||
| c24f625d81 | |||
| 15ca2bfc7e | |||
| 2487f4655e | |||
| c2fd4636a3 | |||
| a82b704c2b | |||
| 1aa6a644b0 | |||
| ff3ea53482 | |||
| d0e3c4e421 | |||
| 1659689e71 | |||
| 81ebb6c399 | |||
| ea66cb27fc | |||
| 3e7c4e371c | |||
| 8dbd07ff55 | |||
| d88ede3984 | |||
| 04a1da9dd9 | |||
| 7eb70fcf2b | |||
| 16207221dc | |||
| daf58430a9 | |||
| 8b32e346f6 | |||
| 8df5a87738 | |||
| e2dbe82949 | |||
| 38075ad5ad | |||
| a99a9c9699 | |||
| 2cd876ade4 | |||
| 4eea0db73d | |||
| 6f18d339df | |||
| d31ca02c2a | |||
| 8a0cd5c236 | |||
| e300104dcf | |||
| a13f0079db | |||
| cae48c0878 | |||
| ce481f6b07 | |||
| b6a4619ab3 | |||
| 88ebc5c476 | |||
| c27c516610 | |||
| 42ee8522dd | |||
| b7f05f4dd2 | |||
| f58e8b6c15 | |||
| d432ffee3f | |||
| 961bc2cd59 | |||
| 92aeff61d8 | |||
| 64725482f8 | |||
| 11cd590529 | |||
| bb22741aa1 | |||
| 28e4b73964 | |||
| 7ea0d6f475 | |||
| bdcc22fd46 | |||
| 3c2e97f915 | |||
| ba77c20d77 | |||
| c376041a07 | |||
| bd29d360b4 | |||
| 7e1b1ee238 | |||
| 221218ba2a | |||
| 697d18da82 | |||
| 27d0230ed7 | |||
| 41fdcb68fb | |||
| 37b02c08bc | |||
| 31200d7765 | |||
| 60844ee0ea | |||
| 2c2e6b41a1 | |||
| 52c81a0e61 | |||
| 6667147b77 | |||
| 26635e3a10 | |||
| 1d5a565ed8 | |||
| 4e54b48903 | |||
| 2f16cd73c9 | |||
| 9fd6ac3531 | |||
| 2f5acc6e3c | |||
| d73b6d9178 | |||
| d5404ac2fa | |||
| d250b967ba | |||
| 5715eecf0c | |||
| b6ef4d1895 | |||
| 3fd33eca4a | |||
| eceed82a61 | |||
| 7337c341ba | |||
| 51658f4838 | |||
| 9dcef56350 | |||
| ba2647b4b0 | |||
| e10571eac0 | |||
| 045ed9e895 | |||
| 60e77a878c | |||
| 69d3897abb | |||
| 90060a3851 | |||
| 1bc756ec15 | |||
| 26daf3aaa0 | |||
| c772bf8ea1 | |||
| caccd55fc1 | |||
| a2b31b72a0 | |||
| 1beb5131ce | |||
|   | ef794a0b85 | ||
|   | aa12fc42bd | ||
|   | 50f90ab53c | ||
|   | 63137eb046 | ||
|   | 92ec5eb194 | ||
|   | f8e07c66c1 | ||
|   | 2130eea235 | ||
|   | 58fc4bbe45 | ||
|   | 591ae02d55 | ||
|   | 6311233f73 | ||
|   | 398e91bdd9 | ||
|   | d1f4c03e05 | ||
|   | 180decbc5e | ||
|   | 943c0c36ea | ||
|   | 60116e9f93 | ||
|   | eea5d31427 | ||
|   | d05e8700ef | ||
|   | 1d310e18e9 | ||
|   | baf290d3aa | ||
|   | 1f379eec51 | ||
|   | c4d1425c46 | ||
|   | e5211838e8 | ||
|   | 441c97730b | ||
|   | 8ca984325a | ||
|   | 3c4fc6e00b | ||
|   | 20a20ee8bb | ||
| 2aae876d98 | |||
| a19379596d | |||
|   | af8ab5fd1e | ||
|   | 1c56ce7f8c | ||
|   | f80c5bf587 | ||
|   | d5c8af7025 | ||
|   | 12a41ec0b2 | ||
|   | b5eb287867 | ||
|   | 3e4fbd892e | ||
|   | dca96f29d7 | ||
|   | a382bdc83a | ||
|   | b73aec6031 | ||
|   | 88f1145c96 | ||
|   | 43bc1d149a | ||
|   | ffa532591c | ||
|   | f9f8ca6b68 | ||
|   | dbc3a94906 | ||
|   | 8e4b5f88ca | ||
|   | 104cc0b1ef | ||
|   | ce790fcaab | ||
|   | 2d03e16a5f | ||
|   | 64e0badbac | ||
|   | a94afab8a0 | ||
|   | 1d3c77dc73 | ||
|   | 1cccece399 | ||
|   | cc8b47912e | ||
|   | f36cf35d9a | ||
|   | cca5283db6 | ||
|   | d6bf8bcf12 | ||
|   | 88886de9e9 | ||
|   | 55b0cd4ae2 | ||
|   | 84a51f4a9e | ||
|   | 87ad3a631a | ||
|   | 2a70b5f123 | ||
|   | 3106e8975f | ||
|   | 4a02e2d7be | ||
|   | 4363421ce8 | ||
|   | 4b96a54347 | ||
|   | 0ad953ead8 | ||
|   | 45ebe43272 | ||
|   | 1c64fe7f69 | ||
|   | c2a030b016 | ||
|   | 94670e18e7 | ||
|   | 5c835b6e2c | ||
|   | 3f803be6b8 | ||
|   | 70b81d7ff8 | ||
|   | 12a34bd5a2 | ||
|   | 11504d3267 | ||
|   | 203df20e76 | ||
|   | 184259c600 | ||
|   | b95c7dee0d | ||
|   | c7c67fbc21 | ||
|   | 21a5c7e916 | ||
|   | 62810d1d85 | ||
|   | 865bd20674 | ||
|   | b46b5c626e | ||
|   | 9ac4576666 | ||
|   | a88f196217 | ||
|   | c0e8ef4c26 | ||
|   | 02b28e82ef | ||
|   | fb6d1d4c1b | ||
|   | 9fc3fbd14d | ||
|   | 72f2781cb9 | ||
|   | 9ddd73c8b4 | ||
|   | 3c92d5c87a | ||
|   | bc8f17cc86 | ||
|   | 1ceb6926e9 | ||
|   | 4d3a993a72 | ||
|   | a52bdc9799 | ||
|   | b62e90f778 | ||
|   | 5d2fda793d | ||
|   | 550663cfd1 | ||
|   | 6c117fb97d | ||
|   | 7e6d832314 | ||
|   | 6fc7b124fc | ||
|   | a011005901 | ||
|   | 5da4fea263 | ||
|   | e1b8a0493b | ||
|   | 8fe1e82226 | ||
|   | aa8725518b | ||
|   | fc5a446784 | ||
|   | 64ce7c3bd6 | ||
|   | 8e3a7d98f9 | ||
|   | c4e47b6513 | ||
|   | b17e93d37f | ||
|   | f2e575a37c | ||
|   | 706fa58ddd | ||
|   | de4652ac94 | ||
|   | cd37fde7ca | ||
|   | 0f3b352020 | ||
|   | c60dabdf6b | ||
|   | 208b751142 | ||
|   | bfc8b8ce80 | ||
|   | 87185b7d99 | ||
|   | 6cfbc8b97e | ||
|   | 4f454f4ec4 | ||
|   | 478e8fbba3 | ||
|   | fc41bd7be4 | ||
|   | b9eeec876b | ||
|   | ce6d6d093e | ||
|   | 996deb8924 | ||
|   | 63af5c762f | ||
|   | 9eef1c3a05 | ||
|   | 95858019e9 | ||
|   | e1a9f2a1b3 | ||
|   | 238302d3ce | ||
|   | 73d7fd28af | ||
|   | 4d834ddaaa | ||
|   | 027e29e025 | ||
|   | 5fbf1f7d43 | ||
|   | 88b0206121 | ||
|   | d71af677f5 | ||
|   | 63ef4ee33b | ||
|   | 0b2e104504 | ||
|   | 3a7881d5c5 | ||
|   | 74dd869dc2 | ||
|   | 718d4062b0 | ||
|   | 66e9fa4caa | ||
|   | f728680c28 | ||
|   | 3a0746a358 | ||
|   | 5da701a318 | ||
|   | 45b1a95332 | ||
|   | 450b51ea71 | ||
|   | aa71c050b2 | ||
|   | e4966f2351 | ||
|   | 894054d3cd | ||
|   | 969ce59e3d | ||
|   | 94ec82f2d5 | ||
|   | 58a043a35c | ||
|   | 0cfdb6b8df | ||
|   | bc5f417a90 | ||
|   | 371f93ea7f | ||
|   | 3fb842f36a | ||
|   | 78fbb97bd9 | ||
|   | 23d75a7c12 | ||
|   | 8626be9c0b | ||
|   | 557aac62e4 | ||
|   | f261bb9e5b | ||
|   | 3281655692 | ||
|   | dfd3961d9c | ||
|   | 0939e6d5a2 | ||
|   | a9652ed8cf | ||
|   | c6d43721cb | ||
|   | b4900e760d | ||
|   | 346e05d943 | ||
|   | c786e6900f | ||
|   | d42bfb6893 | ||
|   | 40be81f3f3 | ||
|   | db8ba96909 | ||
|   | 5750465180 | ||
|   | be3720cd56 | ||
|   | 2d042b1545 | ||
|   | a66c12ebc1 | ||
|   | 28c7ea361c | ||
|   | 40e3623b3a | ||
|   | 0cd6b45f04 | ||
|   | 2d998df432 | ||
|   | d10dbed4b2 | ||
|   | f74dd7654a | ||
|   | 313db49bba | ||
|   | 0235f2f9cd | ||
|   | e08c5a9659 | ||
|   | c38319b40c | ||
|   | c7d07f4408 | ||
|   | cf5239b814 | ||
|   | d77b860628 | ||
|   | 4a53b6dfd1 | ||
|   | 88a3135dc2 | ||
|   | b72dcdae89 | ||
|   | 9e7b0aba10 | ||
|   | 9d32b0ca9e | ||
|   | e496c4d3dd | ||
|   | 146021408d | ||
|   | c40ec0eca2 | ||
|   | fbba7656f9 | ||
|   | a2c90b7613 | ||
|   | 925f5e197a | ||
|   | 7a2170ea14 | ||
|   | f81910a891 | ||
|   | b731228828 | ||
|   | b82294fcb9 | ||
|   | 2b4b3107bf | ||
|   | a906875af7 | ||
|   | 4b4e07e743 | ||
|   | 2127988036 | ||
|   | 710a8dc57f | ||
|   | 16fd97e2d3 | ||
|   | 25808c8034 | ||
|   | d87aade54b | ||
|   | 37aa3c1c65 | ||
|   | c870472267 | ||
|   | 563e2bbc4a | ||
|   | 6463779536 | ||
|   | 8b98c6cac9 | ||
|   | a47c8e1a44 | ||
|   | c7cf6c05a0 | ||
|   | 5c4406a19a | ||
|   | 5a1105302a | ||
|   | 6a376c8b65 | ||
|   | bfbbd12316 | ||
|   | c51d75acf0 | ||
|   | 11ea38fe32 | ||
|   | 55b9b69859 | ||
|   | d2ae040e45 | ||
|   | 691c401251 | ||
|   | 8861b9c8f8 | ||
|   | c74dda6e53 | ||
|   | da54be8ea2 | ||
|   | 6551d66a99 | ||
|   | 8ed2464c5f | ||
|   | f2006adfaa | ||
|   | fe3bd6296f | ||
|   | 4ac466a83e | ||
|   | c76a29eaf7 | ||
|   | 4b7ff99b98 | ||
|   | e034e965d3 | ||
|   | e4bb309841 | ||
|   | 7d207257f7 | ||
|   | ec10df53b8 | ||
|   | d32d254632 | ||
|   | 793721249a | ||
|   | acd9ee7e28 | ||
|   | c9337155e1 | ||
|   | 8f1da6d4fb | ||
|   | 1ab0e41426 | ||
|   | 6f01896066 | ||
|   | cba60d97c6 | ||
|   | 4ba2a309c0 | ||
|   | 6193ad59b2 | ||
|   | b2c1c3288b | ||
|   | 84242b79d0 | ||
|   | 6039f88715 | ||
|   | 54cb15f3a2 | ||
|   | 13f63047a2 | ||
|   | 7cc0c0c86a | ||
|   | 327be3b735 | ||
|   | 6e20fc6d07 | ||
|   | 8436f0cafb | ||
|   | 1ded762a78 | ||
|   | f3ac8b8679 | ||
|   | 622f426686 | ||
|   | 07ee48ff72 | ||
|   | 1728682147 | ||
|   | 710d615cbb | ||
|   | a305eac6ce | ||
|   | b964b729cc | ||
|   | 6d5b4d45dd | ||
|   | a98a7b5100 | ||
|   | 3c80f711da | ||
|   | 501272464b | ||
|   | c6ddda2773 | ||
|   | 2bed948636 | ||
|   | 98c1d950f8 | ||
|   | 6941b3ce3b | ||
|   | 1972ee936e | ||
|   | 01e45fd5fd | ||
|   | a795484c7b | ||
|   | e099003b31 | ||
|   | dbec8ba9ad | ||
|   | b35754ecce | ||
|   | 91cdece50d | ||
|   | cbce0239ec | ||
|   | f6a0e565af | ||
|   | cfd03d199f | ||
|   | 3cf71e6e08 | ||
|   | 276b5de46f | ||
|   | 587512add9 | ||
|   | 0eedc88f2f | ||
|   | 2b08fb55ee | ||
|   | b0b95c359d | ||
|   | fdeb9f8a54 | ||
|   | e365743567 | ||
|   | 7acf81b2c8 | ||
|   | ca15981350 | ||
|   | 188f50e968 | ||
|   | 77e20fd5c0 | ||
|   | 260e9fb4c5 | ||
|   | e597de9377 | ||
|   | a1745b28b1 | ||
|   | d2e6872b78 | ||
|   | 2cac649a0f | ||
|   | 80b84c3fdb | ||
|   | 762ab73d6e | ||
|   | 51c613b203 | ||
|   | a4ee7b3dc6 | ||
|   | 3f0c2d74f8 | ||
|   | e27349a1d9 | ||
|   | c981ab4a83 | ||
|   | d49b0dedc5 | ||
|   | 4f8861d158 | ||
|   | e164b60208 | ||
|   | a84b4884f5 | ||
| 7bb8801f31 | |||
| 9a83ca420f | |||
|   | 1995bb87d6 | ||
|   | 7a6f8946d5 | ||
|   | c31fcbafd5 | ||
|   | 7ff31cbaa0 | ||
|   | 8696c8f986 | ||
|   | 9c55510610 | ||
|   | 8742397f69 | ||
|   | 6334b60956 | ||
|   | 69511b6ce9 | ||
|   | bf814c03fe | ||
|   | f6f2776a34 | ||
|   | 21951149b9 | ||
|   | 902a3913c8 | ||
|   | 1dc4255ef4 | ||
|   | 7e45b8020a | ||
|   | 28c9f9d708 | ||
|   | dc791a8ff5 | ||
|   | fd75e887c2 | ||
|   | 59b6cc1314 | ||
|   | 4438210168 | ||
|   | 20474cc5ca | ||
|   | 422f8f0253 | ||
|   | 9a2be670bc | ||
|   | 7ff5e93bfe | ||
|   | 98854cf650 | ||
|   | 0e7350e39d | ||
|   | 09e05ef59b | ||
|   | 127165d33e | ||
|   | 6f154bb828 | ||
|   | 488a385c03 | ||
|   | c7696e61fc | ||
|   | cbe3d19a30 | ||
|   | 0f90ef836a | ||
|   | 594ee6716a | ||
|   | 365762a494 | ||
|   | fdb3361041 | ||
|   | f56031547f | ||
|   | d2cf21e71e | ||
|   | bcdeb2f337 | ||
|   | f81423405d | ||
|   | 1ffb06e810 | ||
|   | f07da7433a | ||
|   | d2957e9d11 | ||
|   | 83c385c12e | ||
|   | e9218093d0 | ||
|   | eee80c1478 | ||
|   | 0bad32939c | ||
|   | 59bb576963 | ||
|   | a90c850b1b | ||
|   | d060b051c7 | ||
|   | f3a4d4c56f | ||
|   | d3e0d1cff8 | ||
|   | 23ee0537a3 | ||
|   | 5ebc08a875 | ||
|   | 64f9263da8 | ||
|   | 4a6c2bd4c9 | ||
|   | 8b8ce8674b | ||
|   | e42ce00169 | ||
|   | cb239e152a | ||
|   | 6a0edc7e2c | ||
|   | 49e6225dc4 | ||
|   | 61310dc54f | ||
|   | dff1495ac2 | ||
|   | ad7b1e4ce5 | ||
|   | b05e9419ee | ||
|   | d1b8a65e80 | ||
|   | b53369b49c | ||
|   | 79c380b4ce | ||
|   | 5b2436ccc3 | ||
|   | 200dbae331 | ||
|   | 01142309ac | ||
|   | d630ed2582 | ||
|   | 9c546ca7fb | ||
|   | a6a74c69f1 | ||
|   | 0f51544da4 | ||
|   | afe30328a6 | ||
|   | 9d7148b60e | ||
|   | afa239995c | ||
|   | 0b4a4840e3 | ||
|   | 034e5a0a82 | ||
|   | d2590ddd74 | ||
|   | 2975de2fb5 | ||
|   | b9383b628c | ||
|   | 01bc8673c4 | ||
|   | 0fcdc6af63 | ||
|   | 5ae9803be1 | ||
|   | b36ffd813e | ||
|   | fb0ad6d51f | ||
|   | 3beb019d7c | ||
|   | 331520a3d6 | ||
|   | ee196e84c7 | ||
|   | de6149a5bc | ||
|   | 524ba5fe47 | ||
|   | b0169fc1b8 | ||
|   | 50577f0501 | ||
|   | 9eb8ad06e2 | ||
|   | a4bc7c5b01 | ||
|   | a050b76d8e | ||
|   | adc4fa6724 | ||
|   | e52f9b577e | ||
|   | 31baa79248 | ||
|   | fb1cead10a | ||
|   | 01e37feb4e | ||
|   | 25e2755ffa | ||
|   | 03fc8aea26 | ||
|   | fcc006f30f | ||
|   | 525460b6ed | ||
|   | b0166d330e | ||
|   | cb4f83d765 | ||
|   | 3134c3a4e8 | ||
|   | 53c2b55044 | ||
|   | 5d330d8f0a | ||
|   | de93035152 | ||
|   | 4349f297a8 | ||
|   | 81c8b63f0a | ||
|   | 554f7611ba | ||
|   | 754617f711 | ||
|   | 0acc0a180a | ||
|   | 1e4dc7cfcb | ||
|   | 441257841c | ||
|   | 33b4a689c1 | ||
|   | 35016b7af4 | ||
|   | 20546c493a | ||
|   | 02829b046f | ||
|   | 2feeb4f30f | ||
|   | 50db8cf691 | ||
|   | c272625422 | ||
|   | b8c9063e21 | ||
|   | be70f7ed2c | 
							
								
								
									
										30
									
								
								.github/workflows/lint.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/lint.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | |||||||
|  | name: Artools shellcheck | ||||||
|  | run-name: ${{ gitea.actor }} | ||||||
|  | on: | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - artools/0.33.x | ||||||
|  |       - master | ||||||
|  |     tags: | ||||||
|  |       - 0.* | ||||||
|  |   pull_request: | ||||||
|  |     types: [opened, reopened] | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   lint: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: checkout repo | ||||||
|  |         uses: actions/checkout@main | ||||||
|  |       - name: build | ||||||
|  |         run: make | ||||||
|  |       - name: shellcheck | ||||||
|  |         uses: ludeeus/action-shellcheck@master | ||||||
|  |         env: | ||||||
|  |           SHELLCHECK_OPTS: -x -e SC2034 | ||||||
|  |         with: | ||||||
|  |           scandir: './build/bin' | ||||||
|  |           format: tty | ||||||
|  |           severity: error | ||||||
|  |           additional_files: 'contrib/completion/bash/artools' | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -4,3 +4,13 @@ | |||||||
| .kateproject.d | .kateproject.d | ||||||
| data/schemas/*.conf | data/schemas/*.conf | ||||||
| .project | .project | ||||||
|  | iso-profiles | ||||||
|  | live-services | ||||||
|  | artixpkg_cmds | ||||||
|  | PKGBUILD | ||||||
|  |  | ||||||
|  | contrib/artixlinux | ||||||
|  | build/ | ||||||
|  | tmp/ | ||||||
|  | checks/ | ||||||
|  | check.sh | ||||||
|   | |||||||
							
								
								
									
										674
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										674
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,674 @@ | |||||||
|  |                     GNU GENERAL PUBLIC LICENSE | ||||||
|  |                        Version 3, 29 June 2007 | ||||||
|  |  | ||||||
|  |  Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> | ||||||
|  |  Everyone is permitted to copy and distribute verbatim copies | ||||||
|  |  of this license document, but changing it is not allowed. | ||||||
|  |  | ||||||
|  |                             Preamble | ||||||
|  |  | ||||||
|  |   The GNU General Public License is a free, copyleft license for | ||||||
|  | software and other kinds of works. | ||||||
|  |  | ||||||
|  |   The licenses for most software and other practical works are designed | ||||||
|  | to take away your freedom to share and change the works.  By contrast, | ||||||
|  | the GNU General Public License is intended to guarantee your freedom to | ||||||
|  | share and change all versions of a program--to make sure it remains free | ||||||
|  | software for all its users.  We, the Free Software Foundation, use the | ||||||
|  | GNU General Public License for most of our software; it applies also to | ||||||
|  | any other work released this way by its authors.  You can apply it to | ||||||
|  | your programs, too. | ||||||
|  |  | ||||||
|  |   When we speak of free software, we are referring to freedom, not | ||||||
|  | price.  Our General Public Licenses are designed to make sure that you | ||||||
|  | have the freedom to distribute copies of free software (and charge for | ||||||
|  | them if you wish), that you receive source code or can get it if you | ||||||
|  | want it, that you can change the software or use pieces of it in new | ||||||
|  | free programs, and that you know you can do these things. | ||||||
|  |  | ||||||
|  |   To protect your rights, we need to prevent others from denying you | ||||||
|  | these rights or asking you to surrender the rights.  Therefore, you have | ||||||
|  | certain responsibilities if you distribute copies of the software, or if | ||||||
|  | you modify it: responsibilities to respect the freedom of others. | ||||||
|  |  | ||||||
|  |   For example, if you distribute copies of such a program, whether | ||||||
|  | gratis or for a fee, you must pass on to the recipients the same | ||||||
|  | freedoms that you received.  You must make sure that they, too, receive | ||||||
|  | or can get the source code.  And you must show them these terms so they | ||||||
|  | know their rights. | ||||||
|  |  | ||||||
|  |   Developers that use the GNU GPL protect your rights with two steps: | ||||||
|  | (1) assert copyright on the software, and (2) offer you this License | ||||||
|  | giving you legal permission to copy, distribute and/or modify it. | ||||||
|  |  | ||||||
|  |   For the developers' and authors' protection, the GPL clearly explains | ||||||
|  | that there is no warranty for this free software.  For both users' and | ||||||
|  | authors' sake, the GPL requires that modified versions be marked as | ||||||
|  | changed, so that their problems will not be attributed erroneously to | ||||||
|  | authors of previous versions. | ||||||
|  |  | ||||||
|  |   Some devices are designed to deny users access to install or run | ||||||
|  | modified versions of the software inside them, although the manufacturer | ||||||
|  | can do so.  This is fundamentally incompatible with the aim of | ||||||
|  | protecting users' freedom to change the software.  The systematic | ||||||
|  | pattern of such abuse occurs in the area of products for individuals to | ||||||
|  | use, which is precisely where it is most unacceptable.  Therefore, we | ||||||
|  | have designed this version of the GPL to prohibit the practice for those | ||||||
|  | products.  If such problems arise substantially in other domains, we | ||||||
|  | stand ready to extend this provision to those domains in future versions | ||||||
|  | of the GPL, as needed to protect the freedom of users. | ||||||
|  |  | ||||||
|  |   Finally, every program is threatened constantly by software patents. | ||||||
|  | States should not allow patents to restrict development and use of | ||||||
|  | software on general-purpose computers, but in those that do, we wish to | ||||||
|  | avoid the special danger that patents applied to a free program could | ||||||
|  | make it effectively proprietary.  To prevent this, the GPL assures that | ||||||
|  | patents cannot be used to render the program non-free. | ||||||
|  |  | ||||||
|  |   The precise terms and conditions for copying, distribution and | ||||||
|  | modification follow. | ||||||
|  |  | ||||||
|  |                        TERMS AND CONDITIONS | ||||||
|  |  | ||||||
|  |   0. Definitions. | ||||||
|  |  | ||||||
|  |   "This License" refers to version 3 of the GNU General Public License. | ||||||
|  |  | ||||||
|  |   "Copyright" also means copyright-like laws that apply to other kinds of | ||||||
|  | works, such as semiconductor masks. | ||||||
|  |  | ||||||
|  |   "The Program" refers to any copyrightable work licensed under this | ||||||
|  | License.  Each licensee is addressed as "you".  "Licensees" and | ||||||
|  | "recipients" may be individuals or organizations. | ||||||
|  |  | ||||||
|  |   To "modify" a work means to copy from or adapt all or part of the work | ||||||
|  | in a fashion requiring copyright permission, other than the making of an | ||||||
|  | exact copy.  The resulting work is called a "modified version" of the | ||||||
|  | earlier work or a work "based on" the earlier work. | ||||||
|  |  | ||||||
|  |   A "covered work" means either the unmodified Program or a work based | ||||||
|  | on the Program. | ||||||
|  |  | ||||||
|  |   To "propagate" a work means to do anything with it that, without | ||||||
|  | permission, would make you directly or secondarily liable for | ||||||
|  | infringement under applicable copyright law, except executing it on a | ||||||
|  | computer or modifying a private copy.  Propagation includes copying, | ||||||
|  | distribution (with or without modification), making available to the | ||||||
|  | public, and in some countries other activities as well. | ||||||
|  |  | ||||||
|  |   To "convey" a work means any kind of propagation that enables other | ||||||
|  | parties to make or receive copies.  Mere interaction with a user through | ||||||
|  | a computer network, with no transfer of a copy, is not conveying. | ||||||
|  |  | ||||||
|  |   An interactive user interface displays "Appropriate Legal Notices" | ||||||
|  | to the extent that it includes a convenient and prominently visible | ||||||
|  | feature that (1) displays an appropriate copyright notice, and (2) | ||||||
|  | tells the user that there is no warranty for the work (except to the | ||||||
|  | extent that warranties are provided), that licensees may convey the | ||||||
|  | work under this License, and how to view a copy of this License.  If | ||||||
|  | the interface presents a list of user commands or options, such as a | ||||||
|  | menu, a prominent item in the list meets this criterion. | ||||||
|  |  | ||||||
|  |   1. Source Code. | ||||||
|  |  | ||||||
|  |   The "source code" for a work means the preferred form of the work | ||||||
|  | for making modifications to it.  "Object code" means any non-source | ||||||
|  | form of a work. | ||||||
|  |  | ||||||
|  |   A "Standard Interface" means an interface that either is an official | ||||||
|  | standard defined by a recognized standards body, or, in the case of | ||||||
|  | interfaces specified for a particular programming language, one that | ||||||
|  | is widely used among developers working in that language. | ||||||
|  |  | ||||||
|  |   The "System Libraries" of an executable work include anything, other | ||||||
|  | than the work as a whole, that (a) is included in the normal form of | ||||||
|  | packaging a Major Component, but which is not part of that Major | ||||||
|  | Component, and (b) serves only to enable use of the work with that | ||||||
|  | Major Component, or to implement a Standard Interface for which an | ||||||
|  | implementation is available to the public in source code form.  A | ||||||
|  | "Major Component", in this context, means a major essential component | ||||||
|  | (kernel, window system, and so on) of the specific operating system | ||||||
|  | (if any) on which the executable work runs, or a compiler used to | ||||||
|  | produce the work, or an object code interpreter used to run it. | ||||||
|  |  | ||||||
|  |   The "Corresponding Source" for a work in object code form means all | ||||||
|  | the source code needed to generate, install, and (for an executable | ||||||
|  | work) run the object code and to modify the work, including scripts to | ||||||
|  | control those activities.  However, it does not include the work's | ||||||
|  | System Libraries, or general-purpose tools or generally available free | ||||||
|  | programs which are used unmodified in performing those activities but | ||||||
|  | which are not part of the work.  For example, Corresponding Source | ||||||
|  | includes interface definition files associated with source files for | ||||||
|  | the work, and the source code for shared libraries and dynamically | ||||||
|  | linked subprograms that the work is specifically designed to require, | ||||||
|  | such as by intimate data communication or control flow between those | ||||||
|  | subprograms and other parts of the work. | ||||||
|  |  | ||||||
|  |   The Corresponding Source need not include anything that users | ||||||
|  | can regenerate automatically from other parts of the Corresponding | ||||||
|  | Source. | ||||||
|  |  | ||||||
|  |   The Corresponding Source for a work in source code form is that | ||||||
|  | same work. | ||||||
|  |  | ||||||
|  |   2. Basic Permissions. | ||||||
|  |  | ||||||
|  |   All rights granted under this License are granted for the term of | ||||||
|  | copyright on the Program, and are irrevocable provided the stated | ||||||
|  | conditions are met.  This License explicitly affirms your unlimited | ||||||
|  | permission to run the unmodified Program.  The output from running a | ||||||
|  | covered work is covered by this License only if the output, given its | ||||||
|  | content, constitutes a covered work.  This License acknowledges your | ||||||
|  | rights of fair use or other equivalent, as provided by copyright law. | ||||||
|  |  | ||||||
|  |   You may make, run and propagate covered works that you do not | ||||||
|  | convey, without conditions so long as your license otherwise remains | ||||||
|  | in force.  You may convey covered works to others for the sole purpose | ||||||
|  | of having them make modifications exclusively for you, or provide you | ||||||
|  | with facilities for running those works, provided that you comply with | ||||||
|  | the terms of this License in conveying all material for which you do | ||||||
|  | not control copyright.  Those thus making or running the covered works | ||||||
|  | for you must do so exclusively on your behalf, under your direction | ||||||
|  | and control, on terms that prohibit them from making any copies of | ||||||
|  | your copyrighted material outside their relationship with you. | ||||||
|  |  | ||||||
|  |   Conveying under any other circumstances is permitted solely under | ||||||
|  | the conditions stated below.  Sublicensing is not allowed; section 10 | ||||||
|  | makes it unnecessary. | ||||||
|  |  | ||||||
|  |   3. Protecting Users' Legal Rights From Anti-Circumvention Law. | ||||||
|  |  | ||||||
|  |   No covered work shall be deemed part of an effective technological | ||||||
|  | measure under any applicable law fulfilling obligations under article | ||||||
|  | 11 of the WIPO copyright treaty adopted on 20 December 1996, or | ||||||
|  | similar laws prohibiting or restricting circumvention of such | ||||||
|  | measures. | ||||||
|  |  | ||||||
|  |   When you convey a covered work, you waive any legal power to forbid | ||||||
|  | circumvention of technological measures to the extent such circumvention | ||||||
|  | is effected by exercising rights under this License with respect to | ||||||
|  | the covered work, and you disclaim any intention to limit operation or | ||||||
|  | modification of the work as a means of enforcing, against the work's | ||||||
|  | users, your or third parties' legal rights to forbid circumvention of | ||||||
|  | technological measures. | ||||||
|  |  | ||||||
|  |   4. Conveying Verbatim Copies. | ||||||
|  |  | ||||||
|  |   You may convey verbatim copies of the Program's source code as you | ||||||
|  | receive it, in any medium, provided that you conspicuously and | ||||||
|  | appropriately publish on each copy an appropriate copyright notice; | ||||||
|  | keep intact all notices stating that this License and any | ||||||
|  | non-permissive terms added in accord with section 7 apply to the code; | ||||||
|  | keep intact all notices of the absence of any warranty; and give all | ||||||
|  | recipients a copy of this License along with the Program. | ||||||
|  |  | ||||||
|  |   You may charge any price or no price for each copy that you convey, | ||||||
|  | and you may offer support or warranty protection for a fee. | ||||||
|  |  | ||||||
|  |   5. Conveying Modified Source Versions. | ||||||
|  |  | ||||||
|  |   You may convey a work based on the Program, or the modifications to | ||||||
|  | produce it from the Program, in the form of source code under the | ||||||
|  | terms of section 4, provided that you also meet all of these conditions: | ||||||
|  |  | ||||||
|  |     a) The work must carry prominent notices stating that you modified | ||||||
|  |     it, and giving a relevant date. | ||||||
|  |  | ||||||
|  |     b) The work must carry prominent notices stating that it is | ||||||
|  |     released under this License and any conditions added under section | ||||||
|  |     7.  This requirement modifies the requirement in section 4 to | ||||||
|  |     "keep intact all notices". | ||||||
|  |  | ||||||
|  |     c) You must license the entire work, as a whole, under this | ||||||
|  |     License to anyone who comes into possession of a copy.  This | ||||||
|  |     License will therefore apply, along with any applicable section 7 | ||||||
|  |     additional terms, to the whole of the work, and all its parts, | ||||||
|  |     regardless of how they are packaged.  This License gives no | ||||||
|  |     permission to license the work in any other way, but it does not | ||||||
|  |     invalidate such permission if you have separately received it. | ||||||
|  |  | ||||||
|  |     d) If the work has interactive user interfaces, each must display | ||||||
|  |     Appropriate Legal Notices; however, if the Program has interactive | ||||||
|  |     interfaces that do not display Appropriate Legal Notices, your | ||||||
|  |     work need not make them do so. | ||||||
|  |  | ||||||
|  |   A compilation of a covered work with other separate and independent | ||||||
|  | works, which are not by their nature extensions of the covered work, | ||||||
|  | and which are not combined with it such as to form a larger program, | ||||||
|  | in or on a volume of a storage or distribution medium, is called an | ||||||
|  | "aggregate" if the compilation and its resulting copyright are not | ||||||
|  | used to limit the access or legal rights of the compilation's users | ||||||
|  | beyond what the individual works permit.  Inclusion of a covered work | ||||||
|  | in an aggregate does not cause this License to apply to the other | ||||||
|  | parts of the aggregate. | ||||||
|  |  | ||||||
|  |   6. Conveying Non-Source Forms. | ||||||
|  |  | ||||||
|  |   You may convey a covered work in object code form under the terms | ||||||
|  | of sections 4 and 5, provided that you also convey the | ||||||
|  | machine-readable Corresponding Source under the terms of this License, | ||||||
|  | in one of these ways: | ||||||
|  |  | ||||||
|  |     a) Convey the object code in, or embodied in, a physical product | ||||||
|  |     (including a physical distribution medium), accompanied by the | ||||||
|  |     Corresponding Source fixed on a durable physical medium | ||||||
|  |     customarily used for software interchange. | ||||||
|  |  | ||||||
|  |     b) Convey the object code in, or embodied in, a physical product | ||||||
|  |     (including a physical distribution medium), accompanied by a | ||||||
|  |     written offer, valid for at least three years and valid for as | ||||||
|  |     long as you offer spare parts or customer support for that product | ||||||
|  |     model, to give anyone who possesses the object code either (1) a | ||||||
|  |     copy of the Corresponding Source for all the software in the | ||||||
|  |     product that is covered by this License, on a durable physical | ||||||
|  |     medium customarily used for software interchange, for a price no | ||||||
|  |     more than your reasonable cost of physically performing this | ||||||
|  |     conveying of source, or (2) access to copy the | ||||||
|  |     Corresponding Source from a network server at no charge. | ||||||
|  |  | ||||||
|  |     c) Convey individual copies of the object code with a copy of the | ||||||
|  |     written offer to provide the Corresponding Source.  This | ||||||
|  |     alternative is allowed only occasionally and noncommercially, and | ||||||
|  |     only if you received the object code with such an offer, in accord | ||||||
|  |     with subsection 6b. | ||||||
|  |  | ||||||
|  |     d) Convey the object code by offering access from a designated | ||||||
|  |     place (gratis or for a charge), and offer equivalent access to the | ||||||
|  |     Corresponding Source in the same way through the same place at no | ||||||
|  |     further charge.  You need not require recipients to copy the | ||||||
|  |     Corresponding Source along with the object code.  If the place to | ||||||
|  |     copy the object code is a network server, the Corresponding Source | ||||||
|  |     may be on a different server (operated by you or a third party) | ||||||
|  |     that supports equivalent copying facilities, provided you maintain | ||||||
|  |     clear directions next to the object code saying where to find the | ||||||
|  |     Corresponding Source.  Regardless of what server hosts the | ||||||
|  |     Corresponding Source, you remain obligated to ensure that it is | ||||||
|  |     available for as long as needed to satisfy these requirements. | ||||||
|  |  | ||||||
|  |     e) Convey the object code using peer-to-peer transmission, provided | ||||||
|  |     you inform other peers where the object code and Corresponding | ||||||
|  |     Source of the work are being offered to the general public at no | ||||||
|  |     charge under subsection 6d. | ||||||
|  |  | ||||||
|  |   A separable portion of the object code, whose source code is excluded | ||||||
|  | from the Corresponding Source as a System Library, need not be | ||||||
|  | included in conveying the object code work. | ||||||
|  |  | ||||||
|  |   A "User Product" is either (1) a "consumer product", which means any | ||||||
|  | tangible personal property which is normally used for personal, family, | ||||||
|  | or household purposes, or (2) anything designed or sold for incorporation | ||||||
|  | into a dwelling.  In determining whether a product is a consumer product, | ||||||
|  | doubtful cases shall be resolved in favor of coverage.  For a particular | ||||||
|  | product received by a particular user, "normally used" refers to a | ||||||
|  | typical or common use of that class of product, regardless of the status | ||||||
|  | of the particular user or of the way in which the particular user | ||||||
|  | actually uses, or expects or is expected to use, the product.  A product | ||||||
|  | is a consumer product regardless of whether the product has substantial | ||||||
|  | commercial, industrial or non-consumer uses, unless such uses represent | ||||||
|  | the only significant mode of use of the product. | ||||||
|  |  | ||||||
|  |   "Installation Information" for a User Product means any methods, | ||||||
|  | procedures, authorization keys, or other information required to install | ||||||
|  | and execute modified versions of a covered work in that User Product from | ||||||
|  | a modified version of its Corresponding Source.  The information must | ||||||
|  | suffice to ensure that the continued functioning of the modified object | ||||||
|  | code is in no case prevented or interfered with solely because | ||||||
|  | modification has been made. | ||||||
|  |  | ||||||
|  |   If you convey an object code work under this section in, or with, or | ||||||
|  | specifically for use in, a User Product, and the conveying occurs as | ||||||
|  | part of a transaction in which the right of possession and use of the | ||||||
|  | User Product is transferred to the recipient in perpetuity or for a | ||||||
|  | fixed term (regardless of how the transaction is characterized), the | ||||||
|  | Corresponding Source conveyed under this section must be accompanied | ||||||
|  | by the Installation Information.  But this requirement does not apply | ||||||
|  | if neither you nor any third party retains the ability to install | ||||||
|  | modified object code on the User Product (for example, the work has | ||||||
|  | been installed in ROM). | ||||||
|  |  | ||||||
|  |   The requirement to provide Installation Information does not include a | ||||||
|  | requirement to continue to provide support service, warranty, or updates | ||||||
|  | for a work that has been modified or installed by the recipient, or for | ||||||
|  | the User Product in which it has been modified or installed.  Access to a | ||||||
|  | network may be denied when the modification itself materially and | ||||||
|  | adversely affects the operation of the network or violates the rules and | ||||||
|  | protocols for communication across the network. | ||||||
|  |  | ||||||
|  |   Corresponding Source conveyed, and Installation Information provided, | ||||||
|  | in accord with this section must be in a format that is publicly | ||||||
|  | documented (and with an implementation available to the public in | ||||||
|  | source code form), and must require no special password or key for | ||||||
|  | unpacking, reading or copying. | ||||||
|  |  | ||||||
|  |   7. Additional Terms. | ||||||
|  |  | ||||||
|  |   "Additional permissions" are terms that supplement the terms of this | ||||||
|  | License by making exceptions from one or more of its conditions. | ||||||
|  | Additional permissions that are applicable to the entire Program shall | ||||||
|  | be treated as though they were included in this License, to the extent | ||||||
|  | that they are valid under applicable law.  If additional permissions | ||||||
|  | apply only to part of the Program, that part may be used separately | ||||||
|  | under those permissions, but the entire Program remains governed by | ||||||
|  | this License without regard to the additional permissions. | ||||||
|  |  | ||||||
|  |   When you convey a copy of a covered work, you may at your option | ||||||
|  | remove any additional permissions from that copy, or from any part of | ||||||
|  | it.  (Additional permissions may be written to require their own | ||||||
|  | removal in certain cases when you modify the work.)  You may place | ||||||
|  | additional permissions on material, added by you to a covered work, | ||||||
|  | for which you have or can give appropriate copyright permission. | ||||||
|  |  | ||||||
|  |   Notwithstanding any other provision of this License, for material you | ||||||
|  | add to a covered work, you may (if authorized by the copyright holders of | ||||||
|  | that material) supplement the terms of this License with terms: | ||||||
|  |  | ||||||
|  |     a) Disclaiming warranty or limiting liability differently from the | ||||||
|  |     terms of sections 15 and 16 of this License; or | ||||||
|  |  | ||||||
|  |     b) Requiring preservation of specified reasonable legal notices or | ||||||
|  |     author attributions in that material or in the Appropriate Legal | ||||||
|  |     Notices displayed by works containing it; or | ||||||
|  |  | ||||||
|  |     c) Prohibiting misrepresentation of the origin of that material, or | ||||||
|  |     requiring that modified versions of such material be marked in | ||||||
|  |     reasonable ways as different from the original version; or | ||||||
|  |  | ||||||
|  |     d) Limiting the use for publicity purposes of names of licensors or | ||||||
|  |     authors of the material; or | ||||||
|  |  | ||||||
|  |     e) Declining to grant rights under trademark law for use of some | ||||||
|  |     trade names, trademarks, or service marks; or | ||||||
|  |  | ||||||
|  |     f) Requiring indemnification of licensors and authors of that | ||||||
|  |     material by anyone who conveys the material (or modified versions of | ||||||
|  |     it) with contractual assumptions of liability to the recipient, for | ||||||
|  |     any liability that these contractual assumptions directly impose on | ||||||
|  |     those licensors and authors. | ||||||
|  |  | ||||||
|  |   All other non-permissive additional terms are considered "further | ||||||
|  | restrictions" within the meaning of section 10.  If the Program as you | ||||||
|  | received it, or any part of it, contains a notice stating that it is | ||||||
|  | governed by this License along with a term that is a further | ||||||
|  | restriction, you may remove that term.  If a license document contains | ||||||
|  | a further restriction but permits relicensing or conveying under this | ||||||
|  | License, you may add to a covered work material governed by the terms | ||||||
|  | of that license document, provided that the further restriction does | ||||||
|  | not survive such relicensing or conveying. | ||||||
|  |  | ||||||
|  |   If you add terms to a covered work in accord with this section, you | ||||||
|  | must place, in the relevant source files, a statement of the | ||||||
|  | additional terms that apply to those files, or a notice indicating | ||||||
|  | where to find the applicable terms. | ||||||
|  |  | ||||||
|  |   Additional terms, permissive or non-permissive, may be stated in the | ||||||
|  | form of a separately written license, or stated as exceptions; | ||||||
|  | the above requirements apply either way. | ||||||
|  |  | ||||||
|  |   8. Termination. | ||||||
|  |  | ||||||
|  |   You may not propagate or modify a covered work except as expressly | ||||||
|  | provided under this License.  Any attempt otherwise to propagate or | ||||||
|  | modify it is void, and will automatically terminate your rights under | ||||||
|  | this License (including any patent licenses granted under the third | ||||||
|  | paragraph of section 11). | ||||||
|  |  | ||||||
|  |   However, if you cease all violation of this License, then your | ||||||
|  | license from a particular copyright holder is reinstated (a) | ||||||
|  | provisionally, unless and until the copyright holder explicitly and | ||||||
|  | finally terminates your license, and (b) permanently, if the copyright | ||||||
|  | holder fails to notify you of the violation by some reasonable means | ||||||
|  | prior to 60 days after the cessation. | ||||||
|  |  | ||||||
|  |   Moreover, your license from a particular copyright holder is | ||||||
|  | reinstated permanently if the copyright holder notifies you of the | ||||||
|  | violation by some reasonable means, this is the first time you have | ||||||
|  | received notice of violation of this License (for any work) from that | ||||||
|  | copyright holder, and you cure the violation prior to 30 days after | ||||||
|  | your receipt of the notice. | ||||||
|  |  | ||||||
|  |   Termination of your rights under this section does not terminate the | ||||||
|  | licenses of parties who have received copies or rights from you under | ||||||
|  | this License.  If your rights have been terminated and not permanently | ||||||
|  | reinstated, you do not qualify to receive new licenses for the same | ||||||
|  | material under section 10. | ||||||
|  |  | ||||||
|  |   9. Acceptance Not Required for Having Copies. | ||||||
|  |  | ||||||
|  |   You are not required to accept this License in order to receive or | ||||||
|  | run a copy of the Program.  Ancillary propagation of a covered work | ||||||
|  | occurring solely as a consequence of using peer-to-peer transmission | ||||||
|  | to receive a copy likewise does not require acceptance.  However, | ||||||
|  | nothing other than this License grants you permission to propagate or | ||||||
|  | modify any covered work.  These actions infringe copyright if you do | ||||||
|  | not accept this License.  Therefore, by modifying or propagating a | ||||||
|  | covered work, you indicate your acceptance of this License to do so. | ||||||
|  |  | ||||||
|  |   10. Automatic Licensing of Downstream Recipients. | ||||||
|  |  | ||||||
|  |   Each time you convey a covered work, the recipient automatically | ||||||
|  | receives a license from the original licensors, to run, modify and | ||||||
|  | propagate that work, subject to this License.  You are not responsible | ||||||
|  | for enforcing compliance by third parties with this License. | ||||||
|  |  | ||||||
|  |   An "entity transaction" is a transaction transferring control of an | ||||||
|  | organization, or substantially all assets of one, or subdividing an | ||||||
|  | organization, or merging organizations.  If propagation of a covered | ||||||
|  | work results from an entity transaction, each party to that | ||||||
|  | transaction who receives a copy of the work also receives whatever | ||||||
|  | licenses to the work the party's predecessor in interest had or could | ||||||
|  | give under the previous paragraph, plus a right to possession of the | ||||||
|  | Corresponding Source of the work from the predecessor in interest, if | ||||||
|  | the predecessor has it or can get it with reasonable efforts. | ||||||
|  |  | ||||||
|  |   You may not impose any further restrictions on the exercise of the | ||||||
|  | rights granted or affirmed under this License.  For example, you may | ||||||
|  | not impose a license fee, royalty, or other charge for exercise of | ||||||
|  | rights granted under this License, and you may not initiate litigation | ||||||
|  | (including a cross-claim or counterclaim in a lawsuit) alleging that | ||||||
|  | any patent claim is infringed by making, using, selling, offering for | ||||||
|  | sale, or importing the Program or any portion of it. | ||||||
|  |  | ||||||
|  |   11. Patents. | ||||||
|  |  | ||||||
|  |   A "contributor" is a copyright holder who authorizes use under this | ||||||
|  | License of the Program or a work on which the Program is based.  The | ||||||
|  | work thus licensed is called the contributor's "contributor version". | ||||||
|  |  | ||||||
|  |   A contributor's "essential patent claims" are all patent claims | ||||||
|  | owned or controlled by the contributor, whether already acquired or | ||||||
|  | hereafter acquired, that would be infringed by some manner, permitted | ||||||
|  | by this License, of making, using, or selling its contributor version, | ||||||
|  | but do not include claims that would be infringed only as a | ||||||
|  | consequence of further modification of the contributor version.  For | ||||||
|  | purposes of this definition, "control" includes the right to grant | ||||||
|  | patent sublicenses in a manner consistent with the requirements of | ||||||
|  | this License. | ||||||
|  |  | ||||||
|  |   Each contributor grants you a non-exclusive, worldwide, royalty-free | ||||||
|  | patent license under the contributor's essential patent claims, to | ||||||
|  | make, use, sell, offer for sale, import and otherwise run, modify and | ||||||
|  | propagate the contents of its contributor version. | ||||||
|  |  | ||||||
|  |   In the following three paragraphs, a "patent license" is any express | ||||||
|  | agreement or commitment, however denominated, not to enforce a patent | ||||||
|  | (such as an express permission to practice a patent or covenant not to | ||||||
|  | sue for patent infringement).  To "grant" such a patent license to a | ||||||
|  | party means to make such an agreement or commitment not to enforce a | ||||||
|  | patent against the party. | ||||||
|  |  | ||||||
|  |   If you convey a covered work, knowingly relying on a patent license, | ||||||
|  | and the Corresponding Source of the work is not available for anyone | ||||||
|  | to copy, free of charge and under the terms of this License, through a | ||||||
|  | publicly available network server or other readily accessible means, | ||||||
|  | then you must either (1) cause the Corresponding Source to be so | ||||||
|  | available, or (2) arrange to deprive yourself of the benefit of the | ||||||
|  | patent license for this particular work, or (3) arrange, in a manner | ||||||
|  | consistent with the requirements of this License, to extend the patent | ||||||
|  | license to downstream recipients.  "Knowingly relying" means you have | ||||||
|  | actual knowledge that, but for the patent license, your conveying the | ||||||
|  | covered work in a country, or your recipient's use of the covered work | ||||||
|  | in a country, would infringe one or more identifiable patents in that | ||||||
|  | country that you have reason to believe are valid. | ||||||
|  |  | ||||||
|  |   If, pursuant to or in connection with a single transaction or | ||||||
|  | arrangement, you convey, or propagate by procuring conveyance of, a | ||||||
|  | covered work, and grant a patent license to some of the parties | ||||||
|  | receiving the covered work authorizing them to use, propagate, modify | ||||||
|  | or convey a specific copy of the covered work, then the patent license | ||||||
|  | you grant is automatically extended to all recipients of the covered | ||||||
|  | work and works based on it. | ||||||
|  |  | ||||||
|  |   A patent license is "discriminatory" if it does not include within | ||||||
|  | the scope of its coverage, prohibits the exercise of, or is | ||||||
|  | conditioned on the non-exercise of one or more of the rights that are | ||||||
|  | specifically granted under this License.  You may not convey a covered | ||||||
|  | work if you are a party to an arrangement with a third party that is | ||||||
|  | in the business of distributing software, under which you make payment | ||||||
|  | to the third party based on the extent of your activity of conveying | ||||||
|  | the work, and under which the third party grants, to any of the | ||||||
|  | parties who would receive the covered work from you, a discriminatory | ||||||
|  | patent license (a) in connection with copies of the covered work | ||||||
|  | conveyed by you (or copies made from those copies), or (b) primarily | ||||||
|  | for and in connection with specific products or compilations that | ||||||
|  | contain the covered work, unless you entered into that arrangement, | ||||||
|  | or that patent license was granted, prior to 28 March 2007. | ||||||
|  |  | ||||||
|  |   Nothing in this License shall be construed as excluding or limiting | ||||||
|  | any implied license or other defenses to infringement that may | ||||||
|  | otherwise be available to you under applicable patent law. | ||||||
|  |  | ||||||
|  |   12. No Surrender of Others' Freedom. | ||||||
|  |  | ||||||
|  |   If conditions are imposed on you (whether by court order, agreement or | ||||||
|  | otherwise) that contradict the conditions of this License, they do not | ||||||
|  | excuse you from the conditions of this License.  If you cannot convey a | ||||||
|  | covered work so as to satisfy simultaneously your obligations under this | ||||||
|  | License and any other pertinent obligations, then as a consequence you may | ||||||
|  | not convey it at all.  For example, if you agree to terms that obligate you | ||||||
|  | to collect a royalty for further conveying from those to whom you convey | ||||||
|  | the Program, the only way you could satisfy both those terms and this | ||||||
|  | License would be to refrain entirely from conveying the Program. | ||||||
|  |  | ||||||
|  |   13. Use with the GNU Affero General Public License. | ||||||
|  |  | ||||||
|  |   Notwithstanding any other provision of this License, you have | ||||||
|  | permission to link or combine any covered work with a work licensed | ||||||
|  | under version 3 of the GNU Affero General Public License into a single | ||||||
|  | combined work, and to convey the resulting work.  The terms of this | ||||||
|  | License will continue to apply to the part which is the covered work, | ||||||
|  | but the special requirements of the GNU Affero General Public License, | ||||||
|  | section 13, concerning interaction through a network will apply to the | ||||||
|  | combination as such. | ||||||
|  |  | ||||||
|  |   14. Revised Versions of this License. | ||||||
|  |  | ||||||
|  |   The Free Software Foundation may publish revised and/or new versions of | ||||||
|  | the GNU General Public License from time to time.  Such new versions will | ||||||
|  | be similar in spirit to the present version, but may differ in detail to | ||||||
|  | address new problems or concerns. | ||||||
|  |  | ||||||
|  |   Each version is given a distinguishing version number.  If the | ||||||
|  | Program specifies that a certain numbered version of the GNU General | ||||||
|  | Public License "or any later version" applies to it, you have the | ||||||
|  | option of following the terms and conditions either of that numbered | ||||||
|  | version or of any later version published by the Free Software | ||||||
|  | Foundation.  If the Program does not specify a version number of the | ||||||
|  | GNU General Public License, you may choose any version ever published | ||||||
|  | by the Free Software Foundation. | ||||||
|  |  | ||||||
|  |   If the Program specifies that a proxy can decide which future | ||||||
|  | versions of the GNU General Public License can be used, that proxy's | ||||||
|  | public statement of acceptance of a version permanently authorizes you | ||||||
|  | to choose that version for the Program. | ||||||
|  |  | ||||||
|  |   Later license versions may give you additional or different | ||||||
|  | permissions.  However, no additional obligations are imposed on any | ||||||
|  | author or copyright holder as a result of your choosing to follow a | ||||||
|  | later version. | ||||||
|  |  | ||||||
|  |   15. Disclaimer of Warranty. | ||||||
|  |  | ||||||
|  |   THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY | ||||||
|  | APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT | ||||||
|  | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY | ||||||
|  | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, | ||||||
|  | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||||||
|  | PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM | ||||||
|  | IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF | ||||||
|  | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | ||||||
|  |  | ||||||
|  |   16. Limitation of Liability. | ||||||
|  |  | ||||||
|  |   IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||||||
|  | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS | ||||||
|  | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY | ||||||
|  | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE | ||||||
|  | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF | ||||||
|  | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD | ||||||
|  | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), | ||||||
|  | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF | ||||||
|  | SUCH DAMAGES. | ||||||
|  |  | ||||||
|  |   17. Interpretation of Sections 15 and 16. | ||||||
|  |  | ||||||
|  |   If the disclaimer of warranty and limitation of liability provided | ||||||
|  | above cannot be given local legal effect according to their terms, | ||||||
|  | reviewing courts shall apply local law that most closely approximates | ||||||
|  | an absolute waiver of all civil liability in connection with the | ||||||
|  | Program, unless a warranty or assumption of liability accompanies a | ||||||
|  | copy of the Program in return for a fee. | ||||||
|  |  | ||||||
|  |                      END OF TERMS AND CONDITIONS | ||||||
|  |  | ||||||
|  |             How to Apply These Terms to Your New Programs | ||||||
|  |  | ||||||
|  |   If you develop a new program, and you want it to be of the greatest | ||||||
|  | possible use to the public, the best way to achieve this is to make it | ||||||
|  | free software which everyone can redistribute and change under these terms. | ||||||
|  |  | ||||||
|  |   To do so, attach the following notices to the program.  It is safest | ||||||
|  | to attach them to the start of each source file to most effectively | ||||||
|  | state the exclusion of warranty; and each file should have at least | ||||||
|  | the "copyright" line and a pointer to where the full notice is found. | ||||||
|  |  | ||||||
|  |     <one line to give the program's name and a brief idea of what it does.> | ||||||
|  |     Copyright (C) <year>  <name of author> | ||||||
|  |  | ||||||
|  |     This program is free software: you can redistribute it and/or modify | ||||||
|  |     it under the terms of the GNU General Public License as published by | ||||||
|  |     the Free Software Foundation, either version 3 of the License, or | ||||||
|  |     (at your option) any later version. | ||||||
|  |  | ||||||
|  |     This program is distributed in the hope that it will be useful, | ||||||
|  |     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||||
|  |     GNU General Public License for more details. | ||||||
|  |  | ||||||
|  |     You should have received a copy of the GNU General Public License | ||||||
|  |     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  | Also add information on how to contact you by electronic and paper mail. | ||||||
|  |  | ||||||
|  |   If the program does terminal interaction, make it output a short | ||||||
|  | notice like this when it starts in an interactive mode: | ||||||
|  |  | ||||||
|  |     <program>  Copyright (C) <year>  <name of author> | ||||||
|  |     This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||||||
|  |     This is free software, and you are welcome to redistribute it | ||||||
|  |     under certain conditions; type `show c' for details. | ||||||
|  |  | ||||||
|  | The hypothetical commands `show w' and `show c' should show the appropriate | ||||||
|  | parts of the General Public License.  Of course, your program's commands | ||||||
|  | might be different; for a GUI interface, you would use an "about box". | ||||||
|  |  | ||||||
|  |   You should also get your employer (if you work as a programmer) or school, | ||||||
|  | if any, to sign a "copyright disclaimer" for the program, if necessary. | ||||||
|  | For more information on this, and how to apply and follow the GNU GPL, see | ||||||
|  | <https://www.gnu.org/licenses/>. | ||||||
|  |  | ||||||
|  |   The GNU General Public License does not permit incorporating your program | ||||||
|  | into proprietary programs.  If your program is a subroutine library, you | ||||||
|  | may consider it more useful to permit linking proprietary applications with | ||||||
|  | the library.  If this is what you want to do, use the GNU Lesser General | ||||||
|  | Public License instead of this License.  But first, please read | ||||||
|  | <https://www.gnu.org/licenses/why-not-lgpl.html>. | ||||||
							
								
								
									
										320
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										320
									
								
								Makefile
									
									
									
									
									
								
							| @@ -1,238 +1,156 @@ | |||||||
| Version=0.4 | SHELL=/bin/bash | ||||||
|  |  | ||||||
| PREFIX = /usr/local | V=0.33 | ||||||
|  | BUILDTOOLVER ?= $(V) | ||||||
|  |  | ||||||
|  | CHROOTVER=0.12 | ||||||
|  |  | ||||||
|  | TOOLS = artools | ||||||
| SYSCONFDIR = /etc | SYSCONFDIR = /etc | ||||||
|  | PREFIX = /usr/local | ||||||
|  | LIBDIR = $(PREFIX)/share/$(TOOLS)/lib | ||||||
|  | DATADIR = $(PREFIX)/share/$(TOOLS) | ||||||
|  | BUILDDIR = build | ||||||
|  |  | ||||||
| SYSCONF = \ | rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d)) | ||||||
| 	data/artools.conf |  | ||||||
|  |  | ||||||
| BIN_BASE = \ | BINPROGS_SRC_BASE = $(wildcard src/base/*.in) | ||||||
| 	bin/mkchroot \ | BINPROGS_BASE = $(addprefix $(BUILDDIR)/,$(patsubst src/base/%,bin/%,$(patsubst %.in,%,$(BINPROGS_SRC_BASE)))) | ||||||
| 	bin/basestrap \ | BINPROGS_SRC_PKG = $(wildcard src/pkg/*.in) | ||||||
| 	bin/artools-chroot \ | BINPROGS_PKG = $(addprefix $(BUILDDIR)/,$(patsubst src/pkg/%,bin/%,$(patsubst %.in,%,$(BINPROGS_SRC_PKG)))) | ||||||
| 	bin/fstabgen \ | BINPROGS_SRC_ISO = $(wildcard src/iso/*.in) | ||||||
| 	bin/signfile \ | BINPROGS_ISO = $(addprefix $(BUILDDIR)/,$(patsubst src/iso/%,bin/%,$(patsubst %.in,%,$(BINPROGS_SRC_ISO)))) | ||||||
| 	bin/chroot-run |  | ||||||
|  |  | ||||||
| LIBS_BASE = \ | LIBRARY_SRC_BASE = $(call rwildcard,src/lib/base,*.sh) | ||||||
| 	lib/util.sh \ | LIBRARY_BASE = $(addprefix $(BUILDDIR)/,$(patsubst src/%,%,$(patsubst %.in,%,$(LIBRARY_SRC_BASE)))) | ||||||
| 	lib/util-msg.sh \ | LIBRARY_SRC_PKG = $(call rwildcard,src/lib/pkg,*.sh) | ||||||
| 	lib/util-mount.sh \ | LIBRARY_PKG = $(addprefix $(BUILDDIR)/,$(patsubst src/%,%,$(patsubst %.in,%,$(LIBRARY_SRC_PKG)))) | ||||||
| 	lib/util-chroot.sh \ | LIBRARY_SRC_ISO = $(call rwildcard,src/lib/iso,*.sh) | ||||||
| 	lib/util-fstab.sh | LIBRARY_ISO = $(addprefix $(BUILDDIR)/,$(patsubst src/%,%,$(patsubst %.in,%,$(LIBRARY_SRC_ISO)))) | ||||||
|  |  | ||||||
| SHARED_BASE = \ | MAKEPKG_CONFIGS=$(wildcard config/makepkg/*) | ||||||
| 	data/pacman-default.conf \ | PACMAN_CONFIGS=$(wildcard config/pacman/*) | ||||||
| 	data/pacman-multilib.conf | SETARCH_ALIASES = $(wildcard config/setarch-aliases.d/*) | ||||||
|  |  | ||||||
| LIST_PKG = \ | TOOLS_CONFIGS_PKG=$(wildcard config/conf/*pkg*) | ||||||
| 	$(wildcard data/pkg.list.d/*.list) | TOOLS_CONFIGS_ISO=$(wildcard config/conf/*iso*) | ||||||
|  |  | ||||||
| ARCH_CONF = \ | COMPLETIONS = $(addprefix $(BUILDDIR)/,$(patsubst %.in,%,$(wildcard contrib/completion/*/*))) | ||||||
| 	$(wildcard data/make.conf.d/*.conf) |  | ||||||
|  |  | ||||||
| LIST_IMPORT = \ | all: binprogs_base binprogs_pkg binprogs_iso library_base library_pkg library_iso conf_base conf_pkg conf_iso completion | ||||||
| 	$(wildcard data/import.list.d/*.list) | binprogs_base: $(BINPROGS_BASE) | ||||||
|  | binprogs_pkg: $(BINPROGS_PKG) | ||||||
|  | binprogs_iso: $(BINPROGS_ISO) | ||||||
|  | library_base: $(LIBRARY_BASE) | ||||||
|  | library_pkg: $(LIBRARY_PKG) | ||||||
|  | library_iso: $(LIBRARY_ISO) | ||||||
|  | completion: $(COMPLETIONS) | ||||||
|  |  | ||||||
| BIN_PKG = \ | edit = sed -e "s|@datadir[@]|$(DATADIR)|g" \ | ||||||
| 	bin/checkpkg \ | 	-e "s|@libdir[@]|$(LIBDIR)|g" \ | ||||||
| 	bin/lddd \ | 	-e "s|@sysconfdir[@]|$(SYSCONFDIR)|g" \ | ||||||
| 	bin/finddeps \ | 	-e "s|@buildtool[@]|$(TOOLS)|g" \ | ||||||
| 	bin/find-libdeps \ | 	-e "s|@buildtoolver[@]|$(BUILDTOOLVER)|g" \ | ||||||
| 	bin/signpkgs \ | 	-e "s|@chrootver[@]|$(CHROOTVER)|g" | ||||||
| 	bin/mkchrootpkg \ |  | ||||||
| 	bin/buildpkg \ |  | ||||||
| 	bin/buildtree \ |  | ||||||
| 	bin/deploypkg |  | ||||||
|  |  | ||||||
| LIBS_PKG = \ | GEN_MSG = @echo "GEN $(patsubst $(BUILDDIR)/%,%,$@)" | ||||||
| 	$(wildcard lib/util-pkg*.sh) |  | ||||||
|  |  | ||||||
| SHARED_PKG = \ | RM = rm -f | ||||||
| 	data/makepkg.conf |  | ||||||
|  |  | ||||||
| BIN_ISO = \ | define buildInScript | ||||||
| 	bin/buildiso \ | $(1)/%: $(2)%$(3) | ||||||
| 	bin/deployiso | 	$$(GEN_MSG) | ||||||
|  | 	@mkdir -p $$(dir $$@) | ||||||
|  | 	@$(RM) "$$@" | ||||||
|  | 	@cat $$< | $(edit) >$$@ | ||||||
|  | 	@chmod $(4) "$$@" | ||||||
|  | 	@bash -O extglob -n "$$@" | ||||||
|  | endef | ||||||
|  |  | ||||||
| LIBS_ISO = \ | $(eval $(call buildInScript,build/bin,src/base/,.in,755)) | ||||||
| 	$(wildcard lib/util-iso*.sh) | $(eval $(call buildInScript,build/bin,src/pkg/,.in,755)) | ||||||
|  | $(eval $(call buildInScript,build/bin,src/iso/,.in,755)) | ||||||
|  | $(eval $(call buildInScript,build/lib,src/lib/,,644)) | ||||||
|  |  | ||||||
| SHARED_ISO = \ | $(foreach completion,$(wildcard contrib/completion/*),$(eval $(call buildInScript,build/$(completion),$(completion)/,.in,444))) | ||||||
| 	data/mkinitcpio.conf \ |  | ||||||
| 	data/profile.conf.example |  | ||||||
|  |  | ||||||
| CPIOHOOKS = \ | conf_base: | ||||||
| 	$(wildcard initcpio/hooks/*) | 	@install -d $(BUILDDIR)/pacman.conf.d $(BUILDDIR)/artools | ||||||
|  | 	@cp -a $(PACMAN_CONFIGS) $(BUILDDIR)/pacman.conf.d | ||||||
|  |  | ||||||
| CPIOINST = \ | conf_pkg: | ||||||
| 	$(wildcard initcpio/install/*) | 	@install -d $(BUILDDIR)/makepkg.conf.d $(BUILDDIR)/artools | ||||||
|  | 	@cp -ra $(MAKEPKG_CONFIGS) $(BUILDDIR)/makepkg.conf.d | ||||||
|  | 	@cp -a $(TOOLS_CONFIGS_PKG) $(BUILDDIR)/artools | ||||||
|  |  | ||||||
| CPIO = \ | conf_iso: | ||||||
| 	initcpio/script/artix_shutdown | 	@install -d $(BUILDDIR)/artools | ||||||
|  | 	@cp -a $(TOOLS_CONFIGS_ISO) $(BUILDDIR)/artools | ||||||
| MAN_XML = \ |  | ||||||
| 	buildpkg.xml \ |  | ||||||
| 	buildtree.xml \ |  | ||||||
| 	buildiso.xml \ |  | ||||||
| 	deployiso.xml \ |  | ||||||
| 	deploypkg.xml \ |  | ||||||
| 	buildyaml.xml \ |  | ||||||
| 	artools.conf.xml \ |  | ||||||
| 	profile.conf.xml |  | ||||||
|  |  | ||||||
| BIN_YAML = \ |  | ||||||
| 	bin/buildyaml |  | ||||||
|  |  | ||||||
| LIBS_YAML = \ |  | ||||||
| 	$(wildcard lib/util-yaml*.sh) \ |  | ||||||
| 	lib/util-profile.sh |  | ||||||
|  |  | ||||||
| SHARED_YAML = \ |  | ||||||
| 	data/linux.preset |  | ||||||
|  |  | ||||||
| all: $(BIN_BASE) $(BIN_PKG) $(BIN_ISO) $(BIN_YAML) doc |  | ||||||
|  |  | ||||||
| edit = sed -e "s|@datadir[@]|$(DESTDIR)$(PREFIX)/share/artools|g" \ |  | ||||||
| 	-e "s|@sysconfdir[@]|$(DESTDIR)$(SYSCONFDIR)/artools|g" \ |  | ||||||
| 	-e "s|@libdir[@]|$(DESTDIR)$(PREFIX)/lib/artools|g" \ |  | ||||||
| 	-e "s|@version@|${Version}|" |  | ||||||
|  |  | ||||||
| %: %.in Makefile |  | ||||||
| 	@echo "GEN $@" |  | ||||||
| 	@$(RM) "$@" |  | ||||||
| 	@m4 -P $@.in | $(edit) >$@ |  | ||||||
| 	@chmod a-w "$@" |  | ||||||
| 	@chmod +x "$@" |  | ||||||
|  |  | ||||||
| doc: |  | ||||||
| 	mkdir -p man |  | ||||||
| 	$(foreach var,$(MAN_XML),xsltproc /usr/share/docbook2X/xslt/man/docbook.xsl docbook/$(var) | db2x_manxml --output-dir man ;) |  | ||||||
|  |  | ||||||
| clean: | clean: | ||||||
| 	rm -f $(BIN_BASE) ${BIN_PKG} ${BIN_ISO} | 	rm -rf $(BUILDDIR) | ||||||
| 	rm -rf man |  | ||||||
|  |  | ||||||
| install_base: |  | ||||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools |  | ||||||
| 	install -m0644 ${SYSCONF} $(DESTDIR)$(SYSCONFDIR)/artools |  | ||||||
|  |  | ||||||
|  | install_base: binprogs_base | ||||||
|  | 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | ||||||
| 	install -m0755 ${BIN_BASE} $(DESTDIR)$(PREFIX)/bin | 	install -dm0755 $(DESTDIR)$(DATADIR)/pacman.conf.d | ||||||
|  | 	install -m0755 $(BINPROGS_BASE) $(DESTDIR)$(PREFIX)/bin | ||||||
|  | 	install -dm0755 $(DESTDIR)$(LIBDIR) | ||||||
|  | 	cp -ra $(BUILDDIR)/lib/base $(DESTDIR)$(LIBDIR) | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools | 	for conf in $(notdir $(PACMAN_CONFIGS)); do install -Dm0644 $(BUILDDIR)/pacman.conf.d/$$conf $(DESTDIR)$(DATADIR)/pacman.conf.d/$${conf##*/}; done | ||||||
| 	install -m0644 ${LIBS_BASE} $(DESTDIR)$(PREFIX)/lib/artools |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools |  | ||||||
| 	install -m0644 ${SHARED_BASE} $(DESTDIR)$(PREFIX)/share/artools |  | ||||||
|  |  | ||||||
| install_pkg: |  | ||||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d |  | ||||||
| 	install -m0644 ${LIST_PKG} $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d |  | ||||||
| 	install -m0644 ${LIST_IMPORT} $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/artools/make.conf.d |  | ||||||
| 	install -m0644 ${ARCH_CONF} $(DESTDIR)$(SYSCONFDIR)/artools/make.conf.d |  | ||||||
|  |  | ||||||
|  | install_pkg: binprogs_pkg | ||||||
|  | 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | ||||||
| 	install -m0755 ${BIN_PKG} $(DESTDIR)$(PREFIX)/bin | 	install -dm0755 $(DESTDIR)$(DATADIR)/setarch-aliases.d | ||||||
|  | 	install -dm0755 $(DESTDIR)$(DATADIR)/makepkg.conf.d | ||||||
|  | 	install -m0755 $(BINPROGS_PKG) $(DESTDIR)$(PREFIX)/bin | ||||||
|  | 	install -dm0755 $(DESTDIR)$(LIBDIR) | ||||||
|  | 	cp -ra $(BUILDDIR)/lib/pkg $(DESTDIR)$(LIBDIR) | ||||||
|  |  | ||||||
|  | 	for conf in $(notdir $(TOOLS_CONFIGS_PKG)); do install -Dm0644 $(BUILDDIR)/$(TOOLS)/$$conf $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)/$${conf##*/}; done | ||||||
|  |  | ||||||
|  | 	cp -ra $(BUILDDIR)/makepkg.conf.d -t $(DESTDIR)$(DATADIR) | ||||||
|  |  | ||||||
|  | 	for a in $(SETARCH_ALIASES); do install -m0644 $$a -t $(DESTDIR)$(DATADIR)/setarch-aliases.d; done | ||||||
| 	ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides | 	ln -sf find-libdeps $(DESTDIR)$(PREFIX)/bin/find-libprovides | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools | 	install -Dm0644 $(BUILDDIR)/contrib/completion/bash/artixpkg $(DESTDIR)$(PREFIX)/share/bash-completion/completions/artixpkg | ||||||
| 	install -m0644 ${LIBS_PKG} $(DESTDIR)$(PREFIX)/lib/artools | 	install -Dm0644 $(BUILDDIR)/contrib/completion/zsh/_artixpkg $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_artixpkg | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools | install_iso: binprogs_iso | ||||||
| 	install -m0644 ${SHARED_PKG} $(DESTDIR)$(PREFIX)/share/artools | 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1 |  | ||||||
| 	gzip -c man/buildpkg.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildpkg.1.gz |  | ||||||
| 	gzip -c man/buildtree.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildtree.1.gz |  | ||||||
|  |  | ||||||
| install_iso: |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | 	install -dm0755 $(DESTDIR)$(PREFIX)/bin | ||||||
| 	install -m0755 ${BIN_ISO} $(DESTDIR)$(PREFIX)/bin | 	install -m0755 $(BINPROGS_ISO) $(DESTDIR)$(PREFIX)/bin | ||||||
|  | 	install -dm0755 $(DESTDIR)$(LIBDIR) | ||||||
|  | 	cp -ra $(BUILDDIR)/lib/iso $(DESTDIR)$(LIBDIR) | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools | 	for conf in $(notdir $(TOOLS_CONFIGS_ISO)); do install -Dm0644 $(BUILDDIR)/$(TOOLS)/$$conf $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)/$${conf##*/}; done | ||||||
| 	install -m0644 ${LIBS_ISO} $(DESTDIR)$(PREFIX)/lib/artools |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/initcpio/hooks | install: all install_base install_pkg install_iso | ||||||
| 	install -m0755 ${CPIOHOOKS} $(DESTDIR)$(SYSCONFDIR)/initcpio/hooks |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(SYSCONFDIR)/initcpio/install | uninstall: | ||||||
| 	install -m0755 ${CPIOINST} $(DESTDIR)$(SYSCONFDIR)/initcpio/install | 	for f in $(notdir $(BINPROGS)); do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done | ||||||
|  | 	for f in $(notdir $(LIBRARY)); do rm -f $(DESTDIR)$(DATADIR)/lib/$$f; done | ||||||
| 	install -m0755 ${CPIO} $(DESTDIR)$(SYSCONFDIR)/initcpio | 	rm -rf $(DESTDIR)$(DATADIR)/lib | ||||||
|  | 	for conf in $(notdir $(TOOLS_CONFIGS)); do rm -f $(DESTDIR)$(SYSCONFDIR)/$(TOOLS)/$${conf##*/}; done | ||||||
|  | 	rm -rf $(DESTDIR)$(DATADIR)/makepkg.conf.d | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools | 	for conf in $(notdir $(PACMAN_CONFIGS)); do rm -f $(DESTDIR)$(DATADIR)/pacman.conf.d/$${conf##*/}; done | ||||||
| 	install -m0644 ${SHARED_ISO} $(DESTDIR)$(PREFIX)/share/artools | 	for f in $(notdir $(SETARCH_ALIASES)); do rm -f $(DESTDIR)$(DATADIR)/setarch-aliases.d/$$f; done | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1 |  | ||||||
| 	gzip -c man/buildiso.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildiso.1.gz |  | ||||||
| 	gzip -c man/deployiso.1 > $(DESTDIR)$(PREFIX)/share/man/man1/deployiso.1.gz |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man5 |  | ||||||
| 	gzip -c man/artools.conf.5 > $(DESTDIR)$(PREFIX)/share/man/man5/artools.conf.5.gz |  | ||||||
| 	gzip -c man/profile.conf.5 > $(DESTDIR)$(PREFIX)/share/man/man5/profile.conf.5.gz |  | ||||||
|  |  | ||||||
| install_yaml: |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/bin |  | ||||||
| 	install -m0755 ${BIN_YAML} $(DESTDIR)$(PREFIX)/bin |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/lib/artools |  | ||||||
| 	install -m0644 ${LIBS_YAML} $(DESTDIR)$(PREFIX)/lib/artools |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/artools |  | ||||||
| 	install -m0644 ${SHARED_YAML} $(DESTDIR)$(PREFIX)/share/artools |  | ||||||
|  |  | ||||||
| 	install -dm0755 $(DESTDIR)$(PREFIX)/share/man/man1 |  | ||||||
| 	gzip -c man/buildyaml.1 > $(DESTDIR)$(PREFIX)/share/man/man1/buildyaml.1.gz |  | ||||||
|  |  | ||||||
| uninstall_base: |  | ||||||
| 	for f in ${SYSCONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/$$f; done |  | ||||||
| 	for f in ${BIN_BASE}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done |  | ||||||
| 	for f in ${SHARED_BASE}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done |  | ||||||
| 	for f in ${LIBS_BASE}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done |  | ||||||
|  |  | ||||||
| uninstall_pkg: |  | ||||||
| 	for f in ${LIST_PKG}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/pkg.list.d/$$f; done |  | ||||||
| 	for f in ${LIST_IMPORT}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/import.list.d/$$f; done |  | ||||||
| 	for f in ${ARCH_CONF}; do rm -f $(DESTDIR)$(SYSCONFDIR)/artools/make.conf.d/$$f; done |  | ||||||
| 	for f in ${BIN_PKG}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done |  | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides | 	rm -f $(DESTDIR)$(PREFIX)/bin/find-libprovides | ||||||
| 	for f in ${SHARED_PKG}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done | 	rmdir --ignore-fail-on-non-empty \ | ||||||
| 	for f in ${LIBS_PKG}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done | 		$(DESTDIR)$(DATADIR)/setarch-aliases.d \ | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildpkg.1.gz | 		$(DESTDIR)$(DATADIR)/pacman.conf.d \ | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildtree.1.gz | 		$(DESTDIR)$(DATADIR) \ | ||||||
|  | 		$(DESTDIR)$(SYSCONFDIR)/$(TOOLS) | ||||||
| uninstall_iso: |  | ||||||
| 	for f in ${BIN_ISO}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done |  | ||||||
| 	for f in ${SHARED_ISO}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done |  | ||||||
|  |  | ||||||
| 	for f in ${LIBS_ISO}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done |  | ||||||
| 	for f in ${CPIOHOOKS}; do rm -f $(DESTDIR)$(SYSCONFDIR)/initcpio/hooks/$$f; done |  | ||||||
| 	for f in ${CPIOINST}; do rm -f $(DESTDIR)$(SYSCONFDIR)/initcpio/install/$$f; done |  | ||||||
| 	for f in ${CPIO}; do rm -f $(DESTDIR)$(SYSCONFDIR)/initcpio/$$f; done |  | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildiso.1.gz |  | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/deployiso.1.gz |  | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man5/artools.conf.5.gz |  | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man5/profile.conf.5.gz |  | ||||||
|  |  | ||||||
| uninstall_yaml: |  | ||||||
| 	for f in ${BIN_YAML}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$f; done |  | ||||||
| 	for f in ${LIBS_YAML}; do rm -f $(DESTDIR)$(PREFIX)/lib/artools/$$f; done |  | ||||||
| 	for f in ${SHARED_YAML}; do rm -f $(DESTDIR)$(PREFIX)/share/artools/$$f; done |  | ||||||
| 	rm -f $(DESTDIR)$(PREFIX)/share/man/man1/buildyaml.1.gz |  | ||||||
|  |  | ||||||
| install: install_base install_pkg install_iso install_yaml |  | ||||||
|  |  | ||||||
| uninstall: uninstall_base uninstall_pkg uninstall_iso uninstall_yaml |  | ||||||
|  |  | ||||||
| dist: | dist: | ||||||
| 	git archive --format=tar --prefix=artools-$(Version)/ $(Version) | gzip -9 > artools-$(Version).tar.gz | 	git archive --format=tar --prefix=$(TOOLS)-$(V)/ v$(V) | gzip > $(TOOLS)-$(V).tar.gz | ||||||
| 	gpg --detach-sign --use-agent artools-$(Version).tar.gz | 	gpg --detach-sign --use-agent $(TOOLS)-$(V).tar.gz | ||||||
|  |  | ||||||
| .PHONY: all clean install uninstall dist | check: $(BINPROGS_SRC_BASE) $(BINPROGS_SRC_PKG) $(BINPROGS_SRC_ISO) config/makepkg/x86_64.conf contrib/makepkg/PKGBUILD.proto | ||||||
|  | 	shellcheck -x $^ | ||||||
|  |  | ||||||
|  | .PHONY: all binprogs_base binprogs_pkg binprogs_iso library_base library_pkg library_iso conf_base conf_pkg conf_iso clean install install_base install_pkg install_iso uninstall dist check contrib | ||||||
|  | .DELETE_ON_ERROR: | ||||||
|   | |||||||
							
								
								
									
										109
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								README.md
									
									
									
									
									
								
							| @@ -1,46 +1,99 @@ | |||||||
| artools | artools | ||||||
| ============= | ============= | ||||||
|  |  | ||||||
| User manual | #### Make flags | ||||||
|  |  | ||||||
| ### 1. artools.conf |  | ||||||
|  |  | ||||||
| artools.conf is the central configuration file for artools. | * PREFIX=/usr | ||||||
| By default, the config is installed in | * SYSCONFDIR=/etc | ||||||
|  |  | ||||||
| ~~~ | #### Dependencies | ||||||
| /etc/artools/artools.conf |  | ||||||
| ~~~ |  | ||||||
|  |  | ||||||
| A user artools.conf can be placed in | ##### Buildtime: | ||||||
|  |  | ||||||
| ~~~ | * make | ||||||
| $HOME/.config/artools/artools.conf | * shellcheck | ||||||
| ~~~ |  | ||||||
|  | ##### Runtime: | ||||||
|  |  | ||||||
|  | - base: | ||||||
|  |   * awk | ||||||
|  |   * bash | ||||||
|  |   * coreutils | ||||||
|  |   * grep | ||||||
|  |   * pacman | ||||||
|  |   * util-linux | ||||||
|  |   * sed | ||||||
|  |  | ||||||
|  | - pkg: | ||||||
|  |   * artools-base | ||||||
|  |   * binutils | ||||||
|  |   * diffutils | ||||||
|  |   * findutils | ||||||
|  |   * go-yq | ||||||
|  |   * openssh | ||||||
|  |   * parallel | ||||||
|  |   * rsync | ||||||
|  |  | ||||||
|  | - iso: | ||||||
|  |   * artools-base | ||||||
|  |   * dosfstools | ||||||
|  |   * e2fsprogs | ||||||
|  |   * findutils | ||||||
|  |   * grub | ||||||
|  |   * libarchive | ||||||
|  |   * libisoburn | ||||||
|  |   * mtools | ||||||
|  |   * squashfs-tools | ||||||
|  |   * go-yq | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #### Configuration | ||||||
|  |  | ||||||
|  | artools-{pkg,iso}.conf are the configuration files for artools. | ||||||
|  | By default, the config files are installed in | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | /etc/artools/artools-{pkg,iso}.conf | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | A user artools-{pkg,iso}.conf can be placed in | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | $HOME/.config/artools/artools-{pkg,iso}.conf | ||||||
|  | ``` | ||||||
|  |  | ||||||
| If the userconfig is present, artools will load the userconfig values, however, if variables have been set in the systemwide | If the userconfig is present, artools will load the userconfig values, however, if variables have been set in the systemwide | ||||||
|  |  | ||||||
| ~~~ | These values take precedence over the userconfig. | ||||||
| /etc/artools/artools.conf |  | ||||||
| ~~~ |  | ||||||
|  |  | ||||||
| these values take precedence over the userconfig. |  | ||||||
| Best practise is to leave systemwide file untouched. | Best practise is to leave systemwide file untouched. | ||||||
| By default it is commented and shows just initialization values done in code. | By default it is commented and shows just initialization values done in code. | ||||||
|  |  | ||||||
| Tools configuration is done in artools.conf or by args. | Tools configuration is done in artools-{pkg,iso}.conf or by args. | ||||||
| Specifying args will override artools.conf settings. | Specifying args will override artools-{pkg,iso}.conf settings. | ||||||
|  |  | ||||||
| User build lists(eg 'my-super-build.list') can be placed in | Both, pacman.conf and makepkg.conf for chroots are loaded from | ||||||
|  |  | ||||||
| ~~~ | ```bash | ||||||
| $HOME/.config/artools/pkg.list.d | usr/share/artools/makepkg.conf.d/${arch}.conf | ||||||
| $HOME/.config/artools/iso.list.d | ``` | ||||||
| ~~~ |  | ||||||
|  |  | ||||||
| overriding | ```bash | ||||||
|  | usr/share/artools/pacmanconf.d/${repo}-${arch}.conf | ||||||
|  | ``` | ||||||
|  |  | ||||||
| ~~~ | and can be overridden dropping them in | ||||||
| /etc/artools/pkg.list.d |  | ||||||
| /etc/artools/iso.list.d | ```bash | ||||||
| ~~~ | $HOME/.config/artools/makepkg.conf.d/ | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | $HOME/.config/artools/pacman.conf.d/ | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | artools-*.conf: | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | $HOME/.config/artools/ | ||||||
|  | ``` | ||||||
|   | |||||||
| @@ -1,93 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| shopt -s extglob |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-mount.sh |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "automount: %s" "${automount}" |  | ||||||
|     msg2 "run_args: %s" "${run_args[*]}" |  | ||||||
|  |  | ||||||
|     msg "PATHS:" |  | ||||||
|     msg2 "chrootdir: %s" "${chrootdir}" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
|  |  | ||||||
| automount=false |  | ||||||
| pretend=false |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "usage: ${0##*/} -a [or] ${0##*/} chroot-dir [command]" |  | ||||||
|     echo '    -a             Automount detected linux system' |  | ||||||
|     echo '    -q             Query settings and pretend' |  | ||||||
|     echo '    -h             Print this help message' |  | ||||||
|     echo '' |  | ||||||
|     echo "    If 'command' is unspecified, ${0##*/} will launch /bin/sh." |  | ||||||
|     echo '' |  | ||||||
|     echo "    If 'automount' is true, ${0##*/} will launch /bin/bash" |  | ||||||
|     echo "    and ${chrootdir}." |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts=':haq' |  | ||||||
|  |  | ||||||
| while getopts ${opts} arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         a) automount=true ;; |  | ||||||
|         q) pretend=true ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument ${arg}"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| shift $(( OPTIND - 1 )) |  | ||||||
|  |  | ||||||
| check_root |  | ||||||
|  |  | ||||||
| if ${automount};then |  | ||||||
|     chrootdir=/mnt |  | ||||||
|     run_args=/bin/bash |  | ||||||
|  |  | ||||||
|     ${pretend} && display_settings && exit 1 |  | ||||||
|  |  | ||||||
|     select_os "${chrootdir}" |  | ||||||
| else |  | ||||||
|     chrootdir=$1 |  | ||||||
|     shift |  | ||||||
|     run_args="$@" |  | ||||||
|  |  | ||||||
|     [[ -d ${chrootdir} ]] || die "Can't create chroot on non-directory %s" "${chrootdir}" |  | ||||||
|  |  | ||||||
|     ${pretend} && display_settings && exit 1 |  | ||||||
|  |  | ||||||
|     chroot_api_efi_mount "${chrootdir}" || die "failed to setup API filesystems in chroot %s" "${chrootdir}" |  | ||||||
|     chroot_mount /etc/resolv.conf "${chrootdir}/etc/resolv.conf" --bind |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| SHELL=/bin/sh unshare --fork --pid chroot "${chrootdir}" ${run_args[*]} |  | ||||||
| @@ -1,99 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| # |  | ||||||
| # Assumptions: |  | ||||||
| #  1) User has partitioned, formatted, and mounted partitions on /mnt |  | ||||||
| #  2) Network is functional |  | ||||||
| #  3) Arguments passed to the script are valid pacman targets |  | ||||||
| #  4) A valid mirror appears in /etc/pacman.d/mirrorlist |  | ||||||
| # |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| shopt -s extglob |  | ||||||
|  |  | ||||||
| DATADIR='@datadir@' |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-mount.sh |  | ||||||
| import ${LIBDIR}/util-chroot.sh |  | ||||||
|  |  | ||||||
| newroot=/mnt |  | ||||||
|  |  | ||||||
| hostcache=false |  | ||||||
| copykeyring=true |  | ||||||
| copymirrorlist=true |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "usage: ${0##*/} [options] root [packages...]" |  | ||||||
|     echo " -C <config>      Use an alternate config file for pacman" |  | ||||||
|     echo " -c               Use the package cache on the host, rather than the target" |  | ||||||
|     echo " -d               Allow installation to a non-mountpoint directory" |  | ||||||
|     echo " -G               Avoid copying the host's pacman keyring to the target" |  | ||||||
|     echo " -i               Avoid auto-confirmation of package selections" |  | ||||||
|     echo " -M               Avoid copying the host's mirrorlist to the target" |  | ||||||
|     echo " -h               Print this help message" |  | ||||||
|     echo '' |  | ||||||
|     echo ' basestrap installs packages to the specified new root directory.' |  | ||||||
|     echo ' If no packages are given, basestrap defaults to the "base" group.' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts=':C:cdGiM' |  | ||||||
|  |  | ||||||
| while getopts ${opts} arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         C) pacman_conf=$OPTARG ;; |  | ||||||
|         d) directory=true ;; |  | ||||||
|         c) hostcache=true ;; |  | ||||||
|         i) interactive=true ;; |  | ||||||
|         G) copykeyring=false ;; |  | ||||||
|         M) copymirrorlist=false ;; |  | ||||||
|         :) echo "invalid argument ${arg}:$OPTARG"; usage 1;; |  | ||||||
|         ?) usage 0 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| shift $(( OPTIND - 1 )) |  | ||||||
|  |  | ||||||
| check_root |  | ||||||
|  |  | ||||||
| (( $# )) || die "No root directory specified" |  | ||||||
| newroot=$1; shift |  | ||||||
| pacman_args=("${@:-base}") |  | ||||||
|  |  | ||||||
| ${hostcache} && pacman_args+=(--cachedir="$newroot/var/cache/pacman/pkg") |  | ||||||
|  |  | ||||||
| ${interactive} && pacman_args+=(--noconfirm) |  | ||||||
|  |  | ||||||
| [[ -n $pacman_conf ]] && pacman_args+=(--config="$pacman_conf") |  | ||||||
|  |  | ||||||
| [[ -d $newroot ]] || die "%s is not a directory" "$newroot" |  | ||||||
|  |  | ||||||
| if ! mountpoint -q "$newroot" && ! ${directory}; then |  | ||||||
|     die '%s is not a mountpoint!' "$newroot" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| # create obligatory directories |  | ||||||
| create_min_fs "$newroot" |  | ||||||
|  |  | ||||||
| # mount API filesystems |  | ||||||
| chroot_api_mount "$newroot" || die "failed to setup API filesystems in new root" |  | ||||||
|  |  | ||||||
| msg2 'Installing packages to %s' "$newroot" |  | ||||||
| if ! pacman -r "$newroot" -Sy "${pacman_args[@]}"; then |  | ||||||
|     die 'Failed to install packages to new root' |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| if ${copykeyring};then |  | ||||||
|     copy_keyring "$newroot" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| if ${copymirrorlist};then |  | ||||||
|     copy_mirrorlist "$newroot" |  | ||||||
| fi |  | ||||||
							
								
								
									
										143
									
								
								bin/buildiso.in
									
									
									
									
									
								
							
							
						
						
									
										143
									
								
								bin/buildiso.in
									
									
									
									
									
								
							| @@ -1,143 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| DATADIR='@datadir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-iso.sh |  | ||||||
|  |  | ||||||
| show_profile(){ |  | ||||||
|     prepare_build |  | ||||||
|     msg2 "iso_file: %s" "${iso_file}" |  | ||||||
|     if ${verbose};then |  | ||||||
|         msg2 "autologin: %s" "${autologin}" |  | ||||||
|  |  | ||||||
|         msg2 "netgroups: %s" "$(get_yaml)" |  | ||||||
|  |  | ||||||
|         msg2 "hostname: %s" "${hostname}" |  | ||||||
|         msg2 "username: %s" "${username}" |  | ||||||
|         msg2 "password: %s" "${password}" |  | ||||||
|         msg2 "addgroups: %s" "${addgroups}" |  | ||||||
|  |  | ||||||
|         msg2 "enable_live: %s" "${enable_live[*]}" |  | ||||||
|         msg2 "openrc_boot: %s" "${openrc_boot[*]}" |  | ||||||
|         msg2 "openrc_default: %s" "${openrc_default[*]}" |  | ||||||
|     fi |  | ||||||
|     reset_profile |  | ||||||
| } |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg "OPTIONS:" |  | ||||||
|     msg2 "profile: %s" "${profile}" |  | ||||||
|     msg2 "arch: %s" "${target_arch}" |  | ||||||
|     msg2 "initsys: %s" "${initsys}" |  | ||||||
|     msg2 "kernel: %s" "${kernel}" |  | ||||||
|     [[ -n ${gpgkey} ]] && msg2 "gpgkey: %s" "${gpgkey}" |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "clean_first: %s" "${clean_first}" |  | ||||||
|     msg2 "images_only: %s" "${images_only}" |  | ||||||
|     msg2 "iso_only: %s" "${iso_only}" |  | ||||||
|     msg2 "persist: %s" "${persist}" |  | ||||||
|  |  | ||||||
|     msg "DIST SETTINGS:" |  | ||||||
|     msg2 "dist_name: %s" "${dist_name}" |  | ||||||
|     msg2 "dist_release: %s" "${dist_release}" |  | ||||||
|     msg2 "dist_branding: %s" "${dist_branding}" |  | ||||||
|  |  | ||||||
|     msg "BUILD:" |  | ||||||
|     show_profile |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
|  |  | ||||||
| load_run_dir |  | ||||||
|  |  | ||||||
| clean_first=true |  | ||||||
| pretend=false |  | ||||||
| images_only=false |  | ||||||
| iso_only=false |  | ||||||
| verbose=false |  | ||||||
| persist=false |  | ||||||
|  |  | ||||||
| mkchroot_args=() |  | ||||||
| profile=lxqt |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options]" |  | ||||||
|     echo "    -p <profile>       Profile [default: ${profile}]" |  | ||||||
|     echo "    -a <arch>          Arch [default: ${target_arch}]" |  | ||||||
|     echo '    -r <dir>           Chroots directory' |  | ||||||
|     echo "                       [default: ${chroots_iso}]" |  | ||||||
|     echo '    -t <dir>           Target directory' |  | ||||||
|     echo "                       [default: ${cache_dir_iso}]" |  | ||||||
|     echo '    -k <name>          Kernel to use' |  | ||||||
|     echo "                       [default: ${kernel}]" |  | ||||||
|     echo '    -i <name>          Init system to use' |  | ||||||
|     echo "                       [default: ${initsys}]" |  | ||||||
|     echo '    -g <key>           The gpg key for sfs signing' |  | ||||||
|     echo "                       [default: ${gpgkey}]" |  | ||||||
|     echo '    -m                 Set SquashFS image mode to persistence' |  | ||||||
|     echo '    -c                 Disable clean work dir' |  | ||||||
|     echo '    -x                 Build images only' |  | ||||||
|     echo '    -z                 Generate iso only' |  | ||||||
|     echo '                       Requires pre built images (-x)' |  | ||||||
|     echo '    -v                 Verbose output to log file, show profile detail (-q)' |  | ||||||
|     echo '    -q                 Query settings and pretend build' |  | ||||||
|     echo '    -h                 This help' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='p:a:r:t:k:i:g:czxmvqh' |  | ||||||
|  |  | ||||||
| while getopts "${opts}" arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         p) profile="$OPTARG" ;; |  | ||||||
|         a) target_arch="$OPTARG" ;; |  | ||||||
|         r) chroots_iso="$OPTARG" ;; |  | ||||||
|         t) cache_dir_iso="$OPTARG" ;; |  | ||||||
|         k) kernel="$OPTARG" ;; |  | ||||||
|         i) initsys="$OPTARG" ;; |  | ||||||
|         g) gpgkey="$OPTARG" ;; |  | ||||||
|         c) clean_first=false ;; |  | ||||||
|         x) images_only=true ;; |  | ||||||
|         z) iso_only=true ;; |  | ||||||
|         m) persist=true ;; |  | ||||||
|         v) verbose=true ;; |  | ||||||
|         q) pretend=true ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
|  |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| check_root |  | ||||||
|  |  | ||||||
| check_requirements |  | ||||||
|  |  | ||||||
| ${pretend} && display_settings && exit 1 |  | ||||||
|  |  | ||||||
| build |  | ||||||
							
								
								
									
										178
									
								
								bin/buildpkg.in
									
									
									
									
									
								
							
							
						
						
									
										178
									
								
								bin/buildpkg.in
									
									
									
									
									
								
							| @@ -1,178 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| shopt -s nullglob |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| DATADIR='@datadir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-chroot.sh |  | ||||||
| import ${LIBDIR}/util-pkg.sh |  | ||||||
| import ${LIBDIR}/util-pkg-chroot.sh |  | ||||||
|  |  | ||||||
| show_pkg(){ |  | ||||||
|     check_build "$1" |  | ||||||
|     cd $1 |  | ||||||
|         source PKGBUILD |  | ||||||
|         for n in ${pkgname[@]}; do |  | ||||||
|             msg2 "%s" "$n" |  | ||||||
|         done |  | ||||||
|     cd .. |  | ||||||
| } |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg2 "is_build_list: %s" "${is_build_list}" |  | ||||||
|  |  | ||||||
|     msg "OPTIONS:" |  | ||||||
|     msg2 "arch: %s" "${target_arch}" |  | ||||||
|     msg2 "chroots_pkg: %s" "${chroots_pkg}" |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "create_first: %s" "${create_first}" |  | ||||||
|     msg2 "delete_first: %s" "${delete_first}" |  | ||||||
|     msg2 "clean_first: %s" "${clean_first}" |  | ||||||
|     msg2 "update_first: %s" "${update_first}" |  | ||||||
|     msg2 "purge: %s" "${purge}" |  | ||||||
|     msg2 "namcap: %s" "${namcap}" |  | ||||||
|     msg2 "sign: %s" "${sign}" |  | ||||||
|  |  | ||||||
|     msg "PATHS:" |  | ||||||
|     msg2 "pkg_dir: %s" "${pkg_dir}" |  | ||||||
|  |  | ||||||
|     if ${create_first};then |  | ||||||
|         msg "PKG:" |  | ||||||
|         msg2 "packages: %s" "${packages[*]}" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     msg "BUILD QUEUE:" |  | ||||||
|     run show_pkg "${build_list}" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
| load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" |  | ||||||
| load_vars /etc/makepkg.conf |  | ||||||
|  |  | ||||||
| create_first=false |  | ||||||
| delete_first=false |  | ||||||
| clean_first=false |  | ||||||
| update_first=false |  | ||||||
| purge=false |  | ||||||
| namcap=false |  | ||||||
| pretend=false |  | ||||||
| is_build_list=false |  | ||||||
| sign=false |  | ||||||
| is_multilib=false |  | ||||||
|  |  | ||||||
| mkchroot_args=() |  | ||||||
| mkchrootpkg_args=() |  | ||||||
|  |  | ||||||
| install_pkgs=() |  | ||||||
|  |  | ||||||
| prepare_build(){ |  | ||||||
|     local pac_arch='default' |  | ||||||
|  |  | ||||||
|     if [[ "${target_arch}" == 'multilib' ]];then |  | ||||||
|         pac_arch='multilib' |  | ||||||
|         is_multilib=true |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     local pacman_conf="${DATADIR}/pacman-$pac_arch.conf" |  | ||||||
|  |  | ||||||
|     work_dir="${chroots_pkg}/${target_arch}" |  | ||||||
|     pkg_dir="${cache_dir_pkg}/${target_arch}" |  | ||||||
|  |  | ||||||
|     local makepkg_conf=$(get_makepkg_conf "${target_arch}") |  | ||||||
|  |  | ||||||
|     [[ "$pac_arch" == 'multilib' ]] && target_arch='x86_64' |  | ||||||
|  |  | ||||||
|     mkchroot_args+=(-C ${pacman_conf} -M ${makepkg_conf}) |  | ||||||
|  |  | ||||||
|     mkchrootpkg_args+=(-r ${work_dir}) |  | ||||||
|  |  | ||||||
|     prepare_dir "${pkg_dir}" |  | ||||||
|  |  | ||||||
|     prepare_dir "${work_dir}" |  | ||||||
|  |  | ||||||
|     eval_build_list "${build_list}" |  | ||||||
|  |  | ||||||
|     packages=('base-devel') |  | ||||||
|     ${is_multilib} && packages+=('multilib-devel') |  | ||||||
|  |  | ||||||
|     timer_start=$(get_timer) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options]" |  | ||||||
|     echo "    -p <pkg>           Build list or pkg [default: ${build_list}]" |  | ||||||
|     echo "    -a <arch>          Arch [default: ${target_arch}]" |  | ||||||
|     echo '    -r <dir>           Chroots directory' |  | ||||||
|     echo "                       [default: ${chroots_pkg}]" |  | ||||||
|     echo '    -i <pkgs>          Install packages into the working copy of the chroot' |  | ||||||
|     echo '    -o                 Create chroot' |  | ||||||
|     echo '    -d                 Delete chroot' |  | ||||||
|     echo '    -c                 Clean chroot copy' |  | ||||||
|     echo '    -u                 Update chroot copy' |  | ||||||
|     echo '    -w                 Clean up cache and sources' |  | ||||||
|     echo '    -n                 Install and run namcap check' |  | ||||||
|     echo '    -s                 Sign packages' |  | ||||||
|     echo '    -q                 Query settings and pretend build' |  | ||||||
|     echo '    -h                 This help' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='p:a:r:i:odcuwnsqh' |  | ||||||
|  |  | ||||||
| while getopts "${opts}" arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         p) build_list="$OPTARG" ;; |  | ||||||
|         a) target_arch="$OPTARG" ;; |  | ||||||
|         r) chroots_pkg="$OPTARG" ;; |  | ||||||
|         i) install_pkgs+=("$OPTARG"); mkchrootpkg_args+=(-I "${install_pkgs[*]}") ;; |  | ||||||
|         o) create_first=true ;; |  | ||||||
|         d) delete_first=true ;; |  | ||||||
|         c) clean_first=true ; mkchrootpkg_args+=(-c) ;; |  | ||||||
|         u) update_first=true ; mkchrootpkg_args+=(-u) ;; |  | ||||||
|         w) purge=true ;; |  | ||||||
|         n) namcap=true; mkchrootpkg_args+=(-n) ;; |  | ||||||
|         s) sign=true ;; |  | ||||||
|         q) pretend=true ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument '%s'" "${arg}"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
|  |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| check_root |  | ||||||
|  |  | ||||||
| prepare_build |  | ||||||
|  |  | ||||||
| ${pretend} && display_settings && exit |  | ||||||
|  |  | ||||||
| ${delete_first} && delete_chroot "${work_dir}/root" "${work_dir}" |  | ||||||
|  |  | ||||||
| ${create_first} && create_chroot "${mkchroot_args[@]}" "${work_dir}/root" "${packages[@]}" |  | ||||||
|  |  | ||||||
| run make_pkg "${build_list}" |  | ||||||
							
								
								
									
										110
									
								
								bin/buildtree.in
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								bin/buildtree.in
									
									
									
									
									
								
							| @@ -1,110 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-pkg-tree.sh |  | ||||||
|  |  | ||||||
| show_imports(){ |  | ||||||
|     for repo in ${repo_tree_artix[@]};do |  | ||||||
|         read_import_list "$repo" |  | ||||||
|         for p in ${import_list[@]};do |  | ||||||
|             msg2 "%s: %s" ""$repo "$p" |  | ||||||
|         done |  | ||||||
|     done |  | ||||||
| } |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg "REPOS:" |  | ||||||
|     msg2 "repo_tree_artix: %s" "${repo_tree_artix[*]}" |  | ||||||
|     msg2 "repo_tree_arch: %s" "${repo_tree_arch[*]}" |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "verbose: %s" "${verbose}" |  | ||||||
|     msg2 "artix: %s" "${artix}" |  | ||||||
|     msg2 "arch: %s" "${arch}" |  | ||||||
|     msg2 "import_arch: %s" "${import_arch}" |  | ||||||
|  |  | ||||||
|     msg "PATHS:" |  | ||||||
|     msg2 "tree_dir_artix: %s" "${tree_dir_artix}" |  | ||||||
|     msg2 "tree_dir_arch: %s" "${tree_dir_arch}" |  | ||||||
| #     msg2 "host_tree_artix: %s" "${host_tree_artix}" |  | ||||||
| #     msg2 "host_tree_arch: %s" "${host_tree_arch}" |  | ||||||
|  |  | ||||||
|     if ${verbose}; then |  | ||||||
|         if ${import_arch};then |  | ||||||
|             msg "IMPORT QUEUE:" |  | ||||||
|             show_imports |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
|  |  | ||||||
| artix=false |  | ||||||
| pretend=false |  | ||||||
| arch=false |  | ||||||
| import_arch=false |  | ||||||
| verbose=false |  | ||||||
|  |  | ||||||
| rsync_args=(-aWx --progress --delete --no-R --no-implied-dirs) |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options]" |  | ||||||
|     echo "    -x            Sync artix tree" |  | ||||||
|     echo "    -a            Sync arch tree" |  | ||||||
|     echo '    -i            Import arch system packages' |  | ||||||
|     echo '    -v            Verbose import output' |  | ||||||
|     echo '    -q            Query settings' |  | ||||||
|     echo '    -h            This help' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='xaivqh' |  | ||||||
|  |  | ||||||
| while getopts "${opts}" arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         x) artix=true ;; |  | ||||||
|         a) arch=true ;; |  | ||||||
|         i) import_arch=true ;; |  | ||||||
|         v) verbose=true; rsync_args+=(-v --stats) ;; |  | ||||||
|         q) pretend=true ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
|  |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| prepare_dir "${tree_dir_artix}" |  | ||||||
| prepare_dir "${tree_dir_arch}" |  | ||||||
|  |  | ||||||
| ${pretend} && display_settings && exit 1 |  | ||||||
|  |  | ||||||
| ${artix} && sync_tree_artix |  | ||||||
|  |  | ||||||
| ${arch} && sync_tree_arch |  | ||||||
|  |  | ||||||
| ${import_arch} && import_from_arch |  | ||||||
							
								
								
									
										115
									
								
								bin/buildyaml.in
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								bin/buildyaml.in
									
									
									
									
									
								
							| @@ -1,115 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| DATADIR='@datadir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-yaml-check.sh |  | ||||||
| import ${LIBDIR}/util-profile.sh |  | ||||||
|  |  | ||||||
| show_profile(){ |  | ||||||
|     prepare_build |  | ||||||
|     msg2 "yaml_dir: %s" "${yaml_dir}" |  | ||||||
|     msg2 "autologin: %s" "${autologin}" |  | ||||||
|  |  | ||||||
|     msg2 "netgroups: %s" "$(get_yaml)" |  | ||||||
|  |  | ||||||
|     msg2 "hostname: %s" "${hostname}" |  | ||||||
|     msg2 "username: %s" "${username}" |  | ||||||
|     msg2 "password: %s" "${password}" |  | ||||||
|     msg2 "addgroups: %s" "${addgroups}" |  | ||||||
|  |  | ||||||
|     msg2 "enable_live: %s" "${enable_live[*]}" |  | ||||||
|     msg2 "openrc_boot: %s" "${openrc_boot[*]}" |  | ||||||
|     msg2 "openrc_default: %s" "${openrc_default[*]}" |  | ||||||
|  |  | ||||||
|     reset_profile |  | ||||||
|     unset yaml_dir |  | ||||||
| } |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg "OPTIONS:" |  | ||||||
|     msg2 "profile: %s" "${profile}" |  | ||||||
|     msg2 "arch: %s" "${target_arch}" |  | ||||||
|     msg2 "initsys: %s" "${initsys}" |  | ||||||
|     msg2 "kernel: %s" "${kernel}" |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "calamares: %s" "${calamares}" |  | ||||||
|     msg2 "group: %s" "${group}" |  | ||||||
|  |  | ||||||
|     msg "BUILD:" |  | ||||||
|     show_profile |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
|  |  | ||||||
| # to force old way to have buildiso run in iso-profiles dir |  | ||||||
| # run_dir=$(pwd) |  | ||||||
|  |  | ||||||
| load_run_dir |  | ||||||
|  |  | ||||||
| calamares=false |  | ||||||
| pretend=false |  | ||||||
| group=false |  | ||||||
| cache_dir_netinstall="${workspace_dir}/netinstall" |  | ||||||
| profile=lxqt |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options]" |  | ||||||
|     echo "    -p <profile>       Buildset or profile [default: ${profile}]" |  | ||||||
|     echo "    -a <arch>          Arch [default: ${target_arch}]" |  | ||||||
|     echo "    -k <name>          Kernel to use[default: ${kernel}]" |  | ||||||
|     echo "    -i <name>          Init system to use [default: ${initsys}]" |  | ||||||
|     echo '    -c                 Check also calamares yaml files generated for the profile' |  | ||||||
|     echo '    -g                 Enable pacman group accepted for -p' |  | ||||||
|     echo '    -q                 Query settings' |  | ||||||
|     echo '    -h                 This help' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='p:a:i:k:gcqh' |  | ||||||
|  |  | ||||||
| while getopts "${opts}" arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         p) profile="$OPTARG" ;; |  | ||||||
|         a) target_arch="$OPTARG" ;; |  | ||||||
|         i) initsys="$OPTARG" ;; |  | ||||||
|         k) kernel="$OPTARG" ;; |  | ||||||
|         c) calamares=true ;; |  | ||||||
|         g) group=true ;; |  | ||||||
|         q) pretend=true ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
|  |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| ${pretend} && display_settings && exit 1 |  | ||||||
|  |  | ||||||
| ${group} && write_pacman_group_yaml "${profile}" && exit 0 |  | ||||||
|  |  | ||||||
| build |  | ||||||
| @@ -1,81 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util-pkg.sh |  | ||||||
|  |  | ||||||
| shopt -s extglob |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" |  | ||||||
| load_vars /etc/makepkg.conf |  | ||||||
|  |  | ||||||
| if [[ ! -f PKGBUILD ]]; then |  | ||||||
|     die 'This must be run in the directory of a built package.' |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| . ./PKGBUILD |  | ||||||
| if [[ $arch == 'any' ]]; then |  | ||||||
|     CARCH='any' |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| STARTDIR=$(pwd) |  | ||||||
| TEMPDIR=$(mktemp -d --tmpdir checkpkg-script.XXXX) |  | ||||||
|  |  | ||||||
| for _pkgname in "${pkgname[@]}"; do |  | ||||||
|     target_pkgver=$(get_full_version "$_pkgname") |  | ||||||
|     if ! pkgfile=$(find_cached_package "$_pkgname" "$target_pkgver" "$CARCH"); then |  | ||||||
|         die 'tarball not found for package: %s' "${_pkgname}-$target_pkgver" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     ln -s "$pkgfile" "$TEMPDIR" |  | ||||||
|  |  | ||||||
|     pkgurl=$(pacman -Spdd --print-format '%l' --noconfirm "$_pkgname") |  | ||||||
|  |  | ||||||
|     if [[ $? -ne 0 ]]; then |  | ||||||
|         die "Couldn't download previous package for %s." "$_pkgname" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     oldpkg=${pkgurl##*://*/} |  | ||||||
|  |  | ||||||
|     if [[ ${oldpkg##*/} = ${pkgfile##*/} ]]; then |  | ||||||
|         die "The built package (%s) is the one in the repo right now!" "$_pkgname" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ $pkgurl = file://* ]]; then |  | ||||||
|         ln -s "${pkgurl#file://}" "$TEMPDIR/$oldpkg" |  | ||||||
|     elif [[ -f "$PKGDEST/$oldpkg" ]]; then |  | ||||||
|         ln -s "$PKGDEST/$oldpkg" "$TEMPDIR/$oldpkg" |  | ||||||
|     elif [[ -f "$STARTDIR/$oldpkg" ]]; then |  | ||||||
|         ln -s "$STARTDIR/$oldpkg" "$TEMPDIR/$oldpkg" |  | ||||||
|     else |  | ||||||
|         curl -fsLC - --retry 3 --retry-delay 3 -o "$TEMPDIR/$oldpkg" "$pkgurl" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     bsdtar tf "$TEMPDIR/$oldpkg" | sort > "$TEMPDIR/filelist-$_pkgname-old" |  | ||||||
|     bsdtar tf "$pkgfile" | sort > "$TEMPDIR/filelist-$_pkgname" |  | ||||||
|  |  | ||||||
|     sdiff -s "$TEMPDIR/filelist-$_pkgname-old" "$TEMPDIR/filelist-$_pkgname" |  | ||||||
|  |  | ||||||
|     find-libprovides "$TEMPDIR/$oldpkg" 2>/dev/null | sort > "$TEMPDIR/libraries-$_pkgname-old" |  | ||||||
|     find-libprovides "$pkgfile" 2>/dev/null | sort > "$TEMPDIR/libraries-$_pkgname" |  | ||||||
|     if ! diff_output="$(sdiff -s "$TEMPDIR/libraries-$_pkgname-old" "$TEMPDIR/libraries-$_pkgname")"; then |  | ||||||
|         msg "Sonames differ in %s!" "$_pkgname" |  | ||||||
|         echo "$diff_output" |  | ||||||
|     else |  | ||||||
|         msg "No soname differences for %s" "$_pkgname." |  | ||||||
|     fi |  | ||||||
| done |  | ||||||
| @@ -1,128 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-mount.sh |  | ||||||
|  |  | ||||||
| working_dir='' |  | ||||||
| files=() |  | ||||||
| keep_mirrors=false |  | ||||||
| nosetarch=false |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options] working-dir [run arguments]" |  | ||||||
|     echo "A wrapper around chroot. Provides support for pacman." |  | ||||||
|     echo |  | ||||||
|     echo ' options:' |  | ||||||
|     echo '    -C <file>     Location of a pacman config file' |  | ||||||
|     echo '    -M <file>     Location of a makepkg config file' |  | ||||||
|     echo '    -c <dir>      Set pacman cache' |  | ||||||
|     echo '    -f <file>     Copy file from the host to the chroot' |  | ||||||
|     echo '    -s            Do not run setarch' |  | ||||||
|     echo '    -r <list>     Bind mountargs ro' |  | ||||||
|     echo '    -w <list>     Bind mountargs rw' |  | ||||||
|     echo '                  List format [src1:target1 ... srcN:targetN]' |  | ||||||
|     echo '    -h            This message' |  | ||||||
|     exit 1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='hC:M:c:r:w:f:s' |  | ||||||
|  |  | ||||||
| while getopts ${opts} arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         C) pacman_conf="$OPTARG" ;; |  | ||||||
|         M) makepkg_conf="$OPTARG" ;; |  | ||||||
|         c) cache_dir="$OPTARG" ;; |  | ||||||
|         f) files+=("$OPTARG") ;; |  | ||||||
|         s) nosetarch=true ;; |  | ||||||
|         r) bindmounts_ro=("$OPTARG") ;; |  | ||||||
|         w) bindmounts_rw=("$OPTARG") ;; |  | ||||||
|         h|?) usage ;; |  | ||||||
|         *) error "invalid argument '$arg'"; usage ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| (( $# < 1 )) && die 'You must specify a directory.' |  | ||||||
|  |  | ||||||
| check_root |  | ||||||
|  |  | ||||||
| working_dir=$(readlink -f "$1") |  | ||||||
| shift 1 |  | ||||||
|  |  | ||||||
| [[ -z $working_dir ]] && die 'Please specify a working directory.' |  | ||||||
|  |  | ||||||
| if [[ -z $cache_dir ]]; then |  | ||||||
|     cache_dirs=($(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) |  | ||||||
| else |  | ||||||
|     cache_dirs=("$cache_dir") |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| copy_hostconf () { |  | ||||||
|     cp -a /etc/pacman.d/gnupg "$1/etc/pacman.d" |  | ||||||
|  |  | ||||||
|     [[ -n $pacman_conf ]] && cp $pacman_conf "$1/etc/pacman.conf" |  | ||||||
|  |  | ||||||
|     [[ -n $makepkg_conf ]] && cp $makepkg_conf "$1/etc/makepkg.conf" |  | ||||||
|  |  | ||||||
|     local file |  | ||||||
|     for file in "${files[@]}"; do |  | ||||||
|         mkdir -p "$(dirname "$working_dir$file")" |  | ||||||
|         cp -T "$file" "$working_dir$file" |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" -i "$1/etc/pacman.conf" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| chroot_extra_mount() { |  | ||||||
|     chroot_mount "/etc/resolv.conf" "$1/etc/resolv.conf" -B |  | ||||||
|     chroot_mount "${cache_dirs[0]}" "$1${cache_dirs[0]}" -B |  | ||||||
|  |  | ||||||
|     for cache_dir in ${cache_dirs[@]:1}; do |  | ||||||
|         chroot_mount "$cache_dir" "$1${cache_dir}" -Br |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     for m in ${bindmounts_ro[@]}; do |  | ||||||
|         chroot_mount "${m%%:*}" "$1${m##*:}" -Br |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     for m in ${bindmounts_rw[@]}; do |  | ||||||
|         chroot_mount "${m%%:*}" "$1${m##*:}" -B |  | ||||||
|     done |  | ||||||
| } |  | ||||||
|  |  | ||||||
| umask 0022 |  | ||||||
|  |  | ||||||
| # Sanity check |  | ||||||
| if [[ ! -f "$working_dir/.artools" ]]; then |  | ||||||
|     die "'%s' does not appear to be an artix chroot." "$working_dir" |  | ||||||
| elif [[ $(cat "$working_dir/.artools") != $version ]]; then |  | ||||||
|     die "chroot '%s' is not at version %s. Please rebuild." "$working_dir" "$version" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| chroot_api_mount "${working_dir}" || die "failed to setup API filesystems in chroot %s" "${working_dir}" |  | ||||||
|  |  | ||||||
| chroot_extra_mount "${working_dir}" |  | ||||||
|  |  | ||||||
| copy_hostconf "${working_dir}" |  | ||||||
|  |  | ||||||
| eval $(grep '^CARCH=' "$working_dir/etc/makepkg.conf") |  | ||||||
|  |  | ||||||
| ${nosetarch} && unset CARCH |  | ||||||
|  |  | ||||||
| ${CARCH:+setarch "$CARCH"} chroot "${working_dir}" "$@" |  | ||||||
							
								
								
									
										103
									
								
								bin/deployiso.in
									
									
									
									
									
								
							
							
						
						
									
										103
									
								
								bin/deployiso.in
									
									
									
									
									
								
							| @@ -1,103 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-iso-publish.sh |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg "OPTIONS:" |  | ||||||
|     msg2 "profile: %s" "${profile}" |  | ||||||
|     msg2 "uplimit: %s kB/s" "${uplimit}" |  | ||||||
| #     msg2 "dist_release: %s" "${dist_release}" |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "update: %s" "${update}" |  | ||||||
|     msg2 "verbose: %s" "${verbose}" |  | ||||||
|     msg2 "torrent: %s" "${torrent}" |  | ||||||
|  |  | ||||||
|     if ${torrent};then |  | ||||||
|         msg2 "tracker_url: %s" "${tracker_url}" |  | ||||||
|         msg2 "piece_size: %s" "${piece_size}" |  | ||||||
|         msg2 "host_mirrors: %s" "${host_mirrors[*]}" |  | ||||||
|         msg2 "torrent_meta: %s" "${torrent_meta}" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     msg "REMOTE:" |  | ||||||
|     msg2 "account: %s" "${account}" |  | ||||||
|     msg2 "host: %s" "${host}" |  | ||||||
|     msg2 "project: %s" "${project}" |  | ||||||
|  |  | ||||||
|     msg "UPLOAD:" |  | ||||||
|     msg2 "src_dir: ${src_dir}" |  | ||||||
|     msg2 "target_dir: ${target_dir}" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
|  |  | ||||||
| pretend=false |  | ||||||
| update=false |  | ||||||
| verbose=false |  | ||||||
| torrent=false |  | ||||||
| profile=lxqt |  | ||||||
|  |  | ||||||
| rsync_args=(-aP --progress -e ssh) |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options]" |  | ||||||
|     echo "    -p                 Source folder to upload [default: ${profile}]" |  | ||||||
|     echo "    -l                 Limit bandwidth in kB/s [default:${uplimit}]" |  | ||||||
|     echo '    -u                 Update remote directory' |  | ||||||
|     echo '    -t                 Create iso torrent' |  | ||||||
|     echo '    -q                 Query settings and pretend upload' |  | ||||||
|     echo '    -v                 Verbose output' |  | ||||||
|     echo '    -h                 This help' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| opts='p:l:uvtqh' |  | ||||||
|  |  | ||||||
| while getopts "${opts}" arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         p) profile="$OPTARG" ;; |  | ||||||
|         l) limit="$OPTARG" ;; |  | ||||||
|         u) update=true; rsync_args+=(-u) ;; |  | ||||||
|         t) torrent=true ;; |  | ||||||
|         v) verbose=true; rsync_args+=(-v --stats) ;; |  | ||||||
|         q) pretend=true; rsync_args+=(-n) ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
|  |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| timer_start=$(get_timer) |  | ||||||
|  |  | ||||||
| rsync_args+=(--bwlimit=${uplimit}) |  | ||||||
|  |  | ||||||
| prepare_transfer |  | ||||||
|  |  | ||||||
| ${pretend} && display_settings #&& exit 1 |  | ||||||
|  |  | ||||||
| sync_dir |  | ||||||
							
								
								
									
										116
									
								
								bin/deploypkg.in
									
									
									
									
									
								
							
							
						
						
									
										116
									
								
								bin/deploypkg.in
									
									
									
									
									
								
							| @@ -1,116 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
| SYSCONFDIR='@sysconfdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-pkg-publish.sh |  | ||||||
|  |  | ||||||
| show_transfer(){ |  | ||||||
|     local repo="$1" |  | ||||||
|     msg2 "local: %s" "${repos_local}/$repo/" |  | ||||||
|     msg2 "remote: %s" "${repos_remote}/$repo/" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| display_settings(){ |  | ||||||
|     show_version |  | ||||||
|     show_config |  | ||||||
|  |  | ||||||
|     msg "OPTIONS:" |  | ||||||
|     msg2 "repository: %s" "${repository}" |  | ||||||
|     msg2 "package: %s" "${package}" |  | ||||||
|     msg2 "target_arch: %s" "${target_arch}" |  | ||||||
|  |  | ||||||
|     msg "ARGS:" |  | ||||||
|     msg2 "add_pkg: %s" "${add_pkg}" |  | ||||||
|     msg2 "del_pkg: %s" "${del_pkg}" |  | ||||||
|     msg2 "download: %s" "${download}" |  | ||||||
|     msg2 "upload: %s" "${upload}" |  | ||||||
|     msg2 "verbose: %s" "${verbose}" |  | ||||||
|  |  | ||||||
|     msg "REMOTE:" |  | ||||||
|     msg2 "account: %s" "${account}" |  | ||||||
|     msg2 "host: %s" "${host}" |  | ||||||
|     msg2 "project: %s" "${project}" |  | ||||||
|  |  | ||||||
|     msg "SYNC:" |  | ||||||
|     show_transfer "${repository}" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_config "${AT_USERCONFDIR}/artools.conf" || load_config "${SYSCONFDIR}/artools.conf" |  | ||||||
|  |  | ||||||
| pretend=false |  | ||||||
| upload=false |  | ||||||
| download=false |  | ||||||
| verbose=false |  | ||||||
| verbose=false |  | ||||||
| add_pkg=false |  | ||||||
| del_pkg=false |  | ||||||
| package='' |  | ||||||
|  |  | ||||||
| rsync_args=(-rtxisP --progress --delete -e ssh) |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options]" |  | ||||||
|     echo "    -a                 Repository arch [default:${target_arch}]" |  | ||||||
|     echo "    -r                 Repository to sync [default:${repository}]" |  | ||||||
|     echo "    -u                 Upload repository" |  | ||||||
|     echo '    -d                 Download repository' |  | ||||||
|     echo "    -p                 Package name to add/delete" |  | ||||||
|     echo '    -x                 Add package to repository' |  | ||||||
|     echo '    -y                 Delete package from repository' |  | ||||||
|     echo '    -q                 Query settings and pretend upload' |  | ||||||
|     echo '    -v                 Verbose output' |  | ||||||
|     echo '    -h                 This help' |  | ||||||
|     echo '' |  | ||||||
|     echo '' |  | ||||||
|     exit $1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='p:a:r:xyduvqh' |  | ||||||
|  |  | ||||||
| while getopts "${opts}" arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         a) target_arch="$OPTARG" ;; |  | ||||||
|         r) repository="$OPTARG" ;; |  | ||||||
|         p) package="$OPTARG" ;; |  | ||||||
|         x) add_pkg=true ;; |  | ||||||
|         y) del_pkg=true ;; |  | ||||||
|         d) download=true ;; |  | ||||||
|         u) upload=true; rsync_args+=(-L) ;; |  | ||||||
|         v) verbose=true; rsync_args+=(-v --stats) ;; |  | ||||||
|         q) pretend=true; rsync_args+=(-n) ;; |  | ||||||
|         h|?) usage 0 ;; |  | ||||||
|         *) echo "invalid argument '${arg}'"; usage 1 ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
|  |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| timer_start=$(get_timer) |  | ||||||
|  |  | ||||||
| prepare_dir "${repos_local}" |  | ||||||
|  |  | ||||||
| ${pretend} && display_settings #&& exit 1 |  | ||||||
|  |  | ||||||
| ${add_pkg} && repo_add_pkg "${repository}" "${target_arch}" "${package}" |  | ||||||
| ${del_pkg} && repo_del_pkg "${repository}" "${target_arch}" "${package}" |  | ||||||
|  |  | ||||||
| ${download} && repo_download "${repository}" |  | ||||||
| ${upload} && repo_upload "${repository}" |  | ||||||
| @@ -1,48 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| match=$1 |  | ||||||
|  |  | ||||||
| if [[ -z $match ]]; then |  | ||||||
|     echo 'Usage: finddeps <depname>' |  | ||||||
|     echo '' |  | ||||||
|     echo 'Find packages that depend on a given depname.' |  | ||||||
|     echo 'Run this script from the top-level directory of your ABS tree.' |  | ||||||
|     echo '' |  | ||||||
|     exit 1 |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| find $PWD -type d | while read d; do |  | ||||||
|     if [[ -f "$d/PKGBUILD" ]]; then |  | ||||||
|         unset pkgname depends makedepends optdepends |  | ||||||
|         . "$d/PKGBUILD" |  | ||||||
|         for dep in "${depends[@]}"; do |  | ||||||
|             # lose the version comparator, if any |  | ||||||
|             depname=${dep%%[<>=]*} |  | ||||||
|             [[ $depname = $match ]] && msg "$d (depends)" |  | ||||||
|         done |  | ||||||
|         for dep in "${makedepends[@]}"; do |  | ||||||
|             # lose the version comparator, if any |  | ||||||
|             depname=${dep%%[<>=]*} |  | ||||||
|             [[ $depname = $match ]] && msg "$d (makedepends)" |  | ||||||
|         done |  | ||||||
|         for dep in "${optdepends[@]/:*}"; do |  | ||||||
|             # lose the version comaparator, if any |  | ||||||
|             depname=${dep%%[<>=]*} |  | ||||||
|             [[ $depname = $match ]] && msg "$d (optdepends)" |  | ||||||
|         done |  | ||||||
|     fi |  | ||||||
| done |  | ||||||
							
								
								
									
										221
									
								
								bin/fstabgen.in
									
									
									
									
									
								
							
							
						
						
									
										221
									
								
								bin/fstabgen.in
									
									
									
									
									
								
							| @@ -1,221 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| shopt -s extglob |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util-fstab.sh |  | ||||||
|  |  | ||||||
| write_source() { |  | ||||||
|     local src=$1 spec= label= uuid= comment=() |  | ||||||
|  |  | ||||||
|     label=$(lsblk -rno LABEL "$1" 2>/dev/null) |  | ||||||
|     uuid=$(lsblk -rno UUID "$1" 2>/dev/null) |  | ||||||
|  |  | ||||||
|     # bind mounts do not have a UUID! |  | ||||||
|  |  | ||||||
|     case $bytag in |  | ||||||
|         '') |  | ||||||
|             [[ $uuid ]] && comment=("UUID=$uuid") |  | ||||||
|             [[ $label ]] && comment+=("LABEL=$(mangle "$label")") |  | ||||||
|         ;; |  | ||||||
|         LABEL) |  | ||||||
|             spec=$label |  | ||||||
|             [[ $uuid ]] && comment=("$src" "UUID=$uuid") |  | ||||||
|         ;; |  | ||||||
|         UUID) |  | ||||||
|             spec=$uuid |  | ||||||
|             comment=("$src") |  | ||||||
|             [[ $label ]] && comment+=("LABEL=$(mangle "$label")") |  | ||||||
|         ;; |  | ||||||
|         *) |  | ||||||
|             [[ $uuid ]] && comment=("$1" "UUID=$uuid") |  | ||||||
|             [[ $label ]] && comment+=("LABEL=$(mangle "$label")") |  | ||||||
|             [[ $bytag ]] && spec=$(lsblk -rno "$bytag" "$1" 2>/dev/null) |  | ||||||
|         ;; |  | ||||||
|     esac |  | ||||||
|  |  | ||||||
|     [[ $comment ]] && printf '# %s\n' "${comment[*]}" |  | ||||||
|  |  | ||||||
|     if [[ $spec ]]; then |  | ||||||
|         printf '%-20s' "$bytag=$(mangle "$spec")" |  | ||||||
|     else |  | ||||||
|         printf '%-20s' "$(mangle "$src")" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| optstring_apply_quirks() { |  | ||||||
|     local varname=$1 fstype=$2 |  | ||||||
|  |  | ||||||
|     # SELinux displays a 'seclabel' option in /proc/self/mountinfo. We can't know |  | ||||||
|     # if the system we're generating the fstab for has any support for SELinux (as |  | ||||||
|     # one might install Arch from a Fedora environment), so let's remove it. |  | ||||||
|     optstring_remove_option "$varname" seclabel |  | ||||||
|  |  | ||||||
|     case $fstype in |  | ||||||
|         f2fs) |  | ||||||
|         # These are Kconfig options for f2fs. Kernels supporting the options will |  | ||||||
|         # only provide the negative versions of these (e.g. noacl), and vice versa |  | ||||||
|         # for kernels without support. |  | ||||||
|         optstring_remove_option "$varname" noacl,acl,nouser_xattr,user_xattr |  | ||||||
|         ;; |  | ||||||
|         vfat) |  | ||||||
|         # Before Linux v3.8, "cp" is prepended to the value of the codepage. |  | ||||||
|         if optstring_get_option "$varname" codepage && [[ $codepage = cp* ]]; then |  | ||||||
|             optstring_remove_option "$varname" codepage |  | ||||||
|             optstring_append_option "$varname" "codepage=${codepage#cp}" |  | ||||||
|         fi |  | ||||||
|         ;; |  | ||||||
|     esac |  | ||||||
| } |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|   cat <<EOF |  | ||||||
| usage: ${0##*/} [options] root |  | ||||||
|  |  | ||||||
|   Options: |  | ||||||
|     -L             Use labels for source identifiers (shortcut for -t LABEL) |  | ||||||
|     -p             Exclude pseudofs mounts (default behavior) |  | ||||||
|     -P             Include printing mounts |  | ||||||
|     -t TAG         Use TAG for source identifiers |  | ||||||
|     -U             Use UUIDs for source identifiers (shortcut for -t UUID) |  | ||||||
|  |  | ||||||
|     -h             Print this help message |  | ||||||
|  |  | ||||||
| fstabgen generates output suitable for addition to an fstab file based on the |  | ||||||
| devices mounted under the mountpoint specified by the given root. |  | ||||||
|  |  | ||||||
| EOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| if [[ -z $1 || $1 = @(-h|--help) ]]; then |  | ||||||
|   usage |  | ||||||
|   exit $(( $# ? 0 : 1 )) |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| while getopts ':LPpt:U' flag; do |  | ||||||
|     case $flag in |  | ||||||
|         L) bytag=LABEL ;; |  | ||||||
|         U) bytag=UUID ;; |  | ||||||
|         P) pseudofs=1 ;; |  | ||||||
|         p) pseudofs=0 ;; |  | ||||||
|         t) bytag=${OPTARG^^} ;; |  | ||||||
|         :) die '%s: option requires an argument -- '\''%s'\' "${0##*/}" "$OPTARG" ;; |  | ||||||
|         ?) die '%s: invalid option -- '\''%s'\' "${0##*/}" "$OPTARG" ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| shift $(( OPTIND - 1 )) |  | ||||||
|  |  | ||||||
| (( $# )) || die "No root directory specified" |  | ||||||
| root=$(realpath -mL "$1"); shift |  | ||||||
|  |  | ||||||
| if ! mountpoint -q "$root"; then |  | ||||||
|     die "$root is not a mountpoint" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| # handle block devices |  | ||||||
| findmnt -Recvruno SOURCE,TARGET,FSTYPE,OPTIONS,FSROOT "$root" | |  | ||||||
| while read -r src target fstype opts fsroot; do |  | ||||||
|     if (( !pseudofs )) && fstype_is_pseudofs "$fstype"; then |  | ||||||
|         continue |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     # default 5th and 6th columns |  | ||||||
|     dump=0 pass=2 |  | ||||||
|  |  | ||||||
|     src=$(unmangle "$src") |  | ||||||
|     target=$(unmangle "$target") |  | ||||||
|     target=${target#$root} |  | ||||||
|  |  | ||||||
|     if (( !foundroot )) && findmnt "$src" "$root" >/dev/null; then |  | ||||||
|         # this is root. we can't possibly have more than one... |  | ||||||
|         pass=1 foundroot=1 |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     # if there's no fsck tool available, then only pass=0 makes sense. |  | ||||||
|     if ! fstype_has_fsck "$fstype"; then |  | ||||||
|         pass=0 |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ $fsroot != / ]]; then |  | ||||||
|         if [[ $fstype = btrfs ]]; then |  | ||||||
|         opts+=,subvol=${fsroot#/} |  | ||||||
|         else |  | ||||||
|         # it's a bind mount |  | ||||||
|         src=$(findmnt -funcevo TARGET "$src")$fsroot |  | ||||||
|         if [[ $src -ef $target ]]; then |  | ||||||
|             # hrmm, this is weird. we're probably looking at a file or directory |  | ||||||
|             # that was bound into a chroot from the host machine. Ignore it, |  | ||||||
|             # because this won't actually be a valid mount. Worst case, the user |  | ||||||
|             # just re-adds it. |  | ||||||
|             continue |  | ||||||
|         fi |  | ||||||
|         fstype=none |  | ||||||
|         opts+=,bind |  | ||||||
|         pass=0 |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     # filesystem quirks |  | ||||||
|     case $fstype in |  | ||||||
|         fuseblk) |  | ||||||
|         # well-behaved FUSE filesystems will report themselves as fuse.$fstype. |  | ||||||
|         # this is probably NTFS-3g, but let's just make sure. |  | ||||||
|         if ! newtype=$(lsblk -no FSTYPE "$src") || [[ -z $newtype ]]; then |  | ||||||
|             # avoid blanking out fstype, leading to an invalid fstab |  | ||||||
|             error 'Failed to derive real filesystem type for FUSE device on %s' "$target" |  | ||||||
|         else |  | ||||||
|             fstype=$newtype |  | ||||||
|         fi |  | ||||||
|         ;; |  | ||||||
|     esac |  | ||||||
|  |  | ||||||
|     optstring_apply_quirks "opts" "$fstype" |  | ||||||
|  |  | ||||||
|     # write one line |  | ||||||
|     write_source "$src" |  | ||||||
|     printf '\t%-10s' "/$(mangle "${target#/}")" "$fstype" "$opts" |  | ||||||
|     printf '\t%s %s' "$dump" "$pass" |  | ||||||
|     printf '\n\n' |  | ||||||
| done |  | ||||||
|  |  | ||||||
| # handle swaps devices |  | ||||||
| { |  | ||||||
|     # ignore header |  | ||||||
|     read |  | ||||||
|  |  | ||||||
|     while read -r device type _ _ prio; do |  | ||||||
|         options=defaults |  | ||||||
|         if [[ $prio != -1 ]]; then |  | ||||||
|         options+=,pri=$prio |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|         # skip files marked deleted by the kernel |  | ||||||
|         [[ $device = *'\040(deleted)' ]] && continue |  | ||||||
|  |  | ||||||
|         if [[ $type = file ]]; then |  | ||||||
|         printf '%-20s' "$device" |  | ||||||
|         elif [[ $device = /dev/dm-+([0-9]) ]]; then |  | ||||||
|         # device mapper doesn't allow characters we need to worry |  | ||||||
|         # about being mangled, and it does the escaping of dashes |  | ||||||
|         # for us in sysfs. |  | ||||||
|         write_source "$(dm_name_for_devnode "$device")" |  | ||||||
|         else |  | ||||||
|         write_source "$(unmangle "$device")" |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|         printf '\t%-10s\t%-10s\t%-10s\t0 0\n\n' 'none' 'swap' "$options" |  | ||||||
|     done |  | ||||||
| } </proc/swaps |  | ||||||
							
								
								
									
										58
									
								
								bin/lddd.in
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								bin/lddd.in
									
									
									
									
									
								
							| @@ -1,58 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
|  |  | ||||||
| ifs=$IFS |  | ||||||
| IFS="${IFS}:" |  | ||||||
|  |  | ||||||
| libdirs="/lib /usr/lib /usr/local/lib $(cat /etc/ld.so.conf.d/*)" |  | ||||||
| extras= |  | ||||||
|  |  | ||||||
| TMPDIR=$(mktemp -d --tmpdir lddd-script.XXXX) |  | ||||||
|  |  | ||||||
| msg 'Go out and drink some tea, this will take a while :) ...' |  | ||||||
| #  Check ELF binaries in the PATH and specified dir trees. |  | ||||||
| for tree in $PATH $libdirs $extras; do |  | ||||||
|     msg2 "DIR $tree" |  | ||||||
|  |  | ||||||
|     #  Get list of files in tree. |  | ||||||
|     files=$(find $tree -type f ! -name '*.a' ! -name '*.la' ! -name '*.py*' ! -name '*.txt' ! -name '*.h' ! -name '*.ttf' ! \ |  | ||||||
|     -name '*.rb' ! -name '*.ko' ! -name '*.pc' ! -name '*.enc' ! -name '*.cf' ! -name '*.def' ! -name '*.rules' ! -name \ |  | ||||||
|     '*.cmi' ! -name  '*.mli' ! -name '*.ml' ! -name '*.cma' ! -name '*.cmx' ! -name '*.cmxa' ! -name '*.pod' ! -name '*.pm' \ |  | ||||||
|     ! -name '*.pl' ! -name '*.al' ! -name '*.tcl' ! -name '*.bs' ! -name '*.o' ! -name '*.png' ! -name '*.gif' ! -name '*.cmo' \ |  | ||||||
|     ! -name '*.cgi' ! -name '*.defs' ! -name '*.conf' ! -name '*_LOCALE' ! -name 'Compose' ! -name '*_OBJS' ! -name '*.msg' ! \ |  | ||||||
|     -name '*.mcopclass' ! -name '*.mcoptype') |  | ||||||
|     IFS=$ifs |  | ||||||
|     for i in $files; do |  | ||||||
|         if (( $(file $i | grep -c 'ELF') != 0 )); then |  | ||||||
|             #  Is an ELF binary. |  | ||||||
|             if (( $(ldd $i 2>/dev/null | grep -c 'not found') != 0 )); then |  | ||||||
|                 #  Missing lib. |  | ||||||
|                 echo "$i:" >> $TMPDIR/raw.txt |  | ||||||
|                 ldd $i 2>/dev/null | grep 'not found' >> $TMPDIR/raw.txt |  | ||||||
|             fi |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
| done |  | ||||||
| grep '^/' $TMPDIR/raw.txt | sed -e 's/://g' >> $TMPDIR/affected-files.txt |  | ||||||
| # invoke pacman |  | ||||||
| for i in $(cat $TMPDIR/affected-files.txt); do |  | ||||||
|     pacman -Qo $i | awk '{print $4,$5}' >> $TMPDIR/pacman.txt |  | ||||||
| done |  | ||||||
| # clean list |  | ||||||
| sort -u $TMPDIR/pacman.txt >> $TMPDIR/possible-rebuilds.txt |  | ||||||
|  |  | ||||||
| msg "Files saved to $TMPDIR" |  | ||||||
							
								
								
									
										118
									
								
								bin/mkchroot.in
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								bin/mkchroot.in
									
									
									
									
									
								
							| @@ -1,118 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-chroot.sh |  | ||||||
|  |  | ||||||
| working_dir='' |  | ||||||
| files=() |  | ||||||
|  |  | ||||||
| build_locales=false |  | ||||||
| keep_mirrors=false |  | ||||||
| keep_flag='' |  | ||||||
| nosetarch=false |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options] working-dir package-list..." |  | ||||||
|     echo ' options:' |  | ||||||
|     echo '    -C <file>     Location of a pacman config file' |  | ||||||
|     echo '    -M <file>     Location of a makepkg config file' |  | ||||||
|     echo '    -U <url>      Set a specific mirror' |  | ||||||
|     echo '    -c <dir>      Set pacman cache' |  | ||||||
|     echo '    -f <file>     Copy file from the host to the chroot' |  | ||||||
|     echo '    -s            Do not run setarch' |  | ||||||
|     echo '    -h            This message' |  | ||||||
|     exit 1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| opts='hC:M:U:c:f:s' |  | ||||||
|  |  | ||||||
| while getopts ${opts} arg; do |  | ||||||
|     case "${arg}" in |  | ||||||
|         C) pacman_conf="$OPTARG" ;; |  | ||||||
|         M) makepkg_conf="$OPTARG" ;; |  | ||||||
|         U) mirror="$OPTARG" ;; |  | ||||||
|         c) cache_dir="$OPTARG" ;; |  | ||||||
|         f) files+=("$OPTARG") ;; |  | ||||||
|         s) nosetarch=true ;; |  | ||||||
|         h|?) usage ;; |  | ||||||
|         *) error "invalid argument '%s'" "$arg"; usage ;; |  | ||||||
|     esac |  | ||||||
| done |  | ||||||
| shift $(($OPTIND - 1)) |  | ||||||
|  |  | ||||||
| (( $# < 2 )) && die 'You must specify a directory and one or more packages.' |  | ||||||
|  |  | ||||||
| check_root |  | ||||||
|  |  | ||||||
| working_dir="$(readlink -f $1)" |  | ||||||
| shift 1 |  | ||||||
|  |  | ||||||
| [[ -z $working_dir ]] && die 'Please specify a working directory.' |  | ||||||
|  |  | ||||||
| if [[ -z $cache_dir ]]; then |  | ||||||
|     cache_dirs=($(pacman -v $cache_conf 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')) |  | ||||||
| else |  | ||||||
|     cache_dirs=(${cache_dir}) |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| basestrap_args=(-Gcd ${pacman_conf:+-C "$pacman_conf"}) |  | ||||||
| [[ -n ${mirror} ]] && basestrap_args+=(-M) |  | ||||||
|  |  | ||||||
| umask 0022 |  | ||||||
|  |  | ||||||
| #[[ -e $working_dir ]] && die "Working directory '%s' already exists" "$working_dir" |  | ||||||
|  |  | ||||||
| #mkdir -p "$working_dir" |  | ||||||
|  |  | ||||||
| [[ ! -d $working_dir ]] && mkdir -p "$working_dir" |  | ||||||
|  |  | ||||||
| lock 9 "${working_dir}.lock" "Locking chroot" |  | ||||||
|  |  | ||||||
| if is_btrfs "$working_dir"; then |  | ||||||
|     rmdir "$working_dir" |  | ||||||
|     if ! btrfs subvolume create "$working_dir"; then |  | ||||||
|         die "Couldn't create subvolume for '%s'" "$working_dir" |  | ||||||
|     fi |  | ||||||
|     chmod 0755 "$working_dir" |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| for f in "${files[@]}"; do |  | ||||||
|     mkdir -p "$(dirname "$working_dir$f")" |  | ||||||
|     cp "$f" "$working_dir$f" |  | ||||||
| done |  | ||||||
|  |  | ||||||
| _env=() |  | ||||||
| while read -r varname; do |  | ||||||
|     _env+=("$varname=${!varname}") |  | ||||||
| done < <(declare -x | sed -r 's/^declare -x ([^=]*)=.*/\1/' | grep -i '_proxy$') |  | ||||||
| env -i "${_env[@]}" \ |  | ||||||
| basestrap "${basestrap_args[@]}" "$working_dir" ${cache_dirs[@]/#/--cachedir=} "$@" || die 'Failed to install all packages' |  | ||||||
|  |  | ||||||
| echo "$version" > "$working_dir/.artools" |  | ||||||
|  |  | ||||||
| default_locale "set" "$working_dir" |  | ||||||
|  |  | ||||||
| chroot_args=(${pacman_conf:+-C "$pacman_conf"} ${makepkg_conf:+-M "$makepkg_conf"} ${cache_dir:+-c "$cache_dir"}) |  | ||||||
| ${nosetarch} && chroot_args+=(${nosetarch:+-s}) |  | ||||||
|  |  | ||||||
| [[ -n ${mirror} ]] && default_mirror "$working_dir" "$mirror" |  | ||||||
|  |  | ||||||
| exec chroot-run \ |  | ||||||
|     "${chroot_args[@]}" \ |  | ||||||
|     "$working_dir" locale-gen |  | ||||||
| @@ -1,405 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
| import ${LIBDIR}/util-chroot.sh |  | ||||||
|  |  | ||||||
| shopt -s nullglob |  | ||||||
|  |  | ||||||
| init_variables() { |  | ||||||
|     default_makepkg_args=(--syncdeps --noconfirm --log --holdver --skipinteg) |  | ||||||
|     makepkg_args=("${default_makepkg_args[@]}") |  | ||||||
|     repack=false |  | ||||||
|     update_first=false |  | ||||||
|     clean_first=false |  | ||||||
|     run_namcap=false |  | ||||||
|     temp_chroot=false |  | ||||||
|     chrootdir= |  | ||||||
|     passeddir= |  | ||||||
|     makepkg_user= |  | ||||||
|     declare -ga install_pkgs |  | ||||||
|     declare -gi ret=0 |  | ||||||
|  |  | ||||||
|     bindmounts_ro=() |  | ||||||
|     bindmounts_rw=() |  | ||||||
|  |  | ||||||
|     copy=$USER |  | ||||||
|     [[ -n ${SUDO_USER:-} ]] && copy=$SUDO_USER |  | ||||||
|     [[ -z "$copy" || $copy = root ]] && copy=copy |  | ||||||
|     src_owner=${SUDO_USER:-$USER} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| usage() { |  | ||||||
|     echo "Usage: ${0##*/} [options] -r <chrootdir> [--] [makepkg args]" |  | ||||||
|     echo ' Run this script in a PKGBUILD dir to build a package inside a' |  | ||||||
|     echo ' clean chroot. Arguments passed to this script after the' |  | ||||||
|     echo ' end-of-options marker (--) will be passed to makepkg.' |  | ||||||
|     echo '' |  | ||||||
|     echo ' The chroot dir consists of the following directories:' |  | ||||||
|     echo ' <chrootdir>/{root, copy} but only "root" is required' |  | ||||||
|     echo ' by default. The working copy will be created as needed' |  | ||||||
|     echo '' |  | ||||||
|     echo 'The chroot "root" directory must be created via the following' |  | ||||||
|     echo 'command:' |  | ||||||
|     echo '    mkchroot <chrootdir>/root base-devel' |  | ||||||
|     echo '' |  | ||||||
|     echo 'This script reads {SRC,SRCPKG,PKG,LOG}DEST, MAKEFLAGS and PACKAGER' |  | ||||||
|     echo 'from makepkg.conf(5), if those variables are not part of the' |  | ||||||
|     echo 'environment.' |  | ||||||
|     echo '' |  | ||||||
|     echo "Default makepkg args: ${default_makepkg_args[*]}" |  | ||||||
|     echo '' |  | ||||||
|     echo 'Flags:' |  | ||||||
|     echo '-h         This help' |  | ||||||
|     echo '-c         Clean the chroot before building' |  | ||||||
|     echo '-d <dir>   Bind directory into build chroot as read-write' |  | ||||||
|     echo '-D <dir>   Bind directory into build chroot as read-only' |  | ||||||
|     echo '-u         Update the working copy of the chroot before building' |  | ||||||
|     echo '           This is useful for rebuilds without dirtying the pristine' |  | ||||||
|     echo '           chroot' |  | ||||||
|     echo '-r <dir>   The chroot dir to use' |  | ||||||
|     echo '-I <pkg>   Install a package into the working copy of the chroot' |  | ||||||
|     echo '-l <copy>  The directory to use as the working copy of the chroot' |  | ||||||
|     echo '           Useful for maintaining multiple copies' |  | ||||||
|     echo "           Default: $copy" |  | ||||||
|     echo '-n         Run namcap on the package' |  | ||||||
|     echo '-T         Build in a temporary directory' |  | ||||||
|     echo '-U         Run makepkg as a specified user' |  | ||||||
|     exit 1 |  | ||||||
| } |  | ||||||
|  |  | ||||||
| sync_chroot() { |  | ||||||
|     local chrootdir=$1 |  | ||||||
|     local copy=$2 |  | ||||||
|     local copydir='' |  | ||||||
|     if [[ ${copy:0:1} = / ]]; then |  | ||||||
|         copydir=$copy |  | ||||||
|     else |  | ||||||
|         copydir="$chrootdir/$copy" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "$chrootdir/root" -ef "$copydir" ]]; then |  | ||||||
|         error 'Cannot sync copy with itself: %s' "$copydir" |  | ||||||
|         return 1 |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     # Get a read lock on the root chroot to make |  | ||||||
|     # sure we don't clone a half-updated chroot |  | ||||||
|     slock 8 "$chrootdir/root.lock" \ |  | ||||||
|         "Locking clean chroot [%s]" "$chrootdir/root" |  | ||||||
|  |  | ||||||
|     stat_busy "Synchronizing chroot copy [%s] -> [%s]" "$chrootdir/root" "$copydir" |  | ||||||
|     if is_btrfs "$chrootdir" && ! mountpoint -q "$copydir"; then |  | ||||||
|         subvolume_delete_recursive "$copydir" || |  | ||||||
|             die "Unable to delete subvolume %s" "$copydir" |  | ||||||
|         btrfs subvolume snapshot "$chrootdir/root" "$copydir" >/dev/null || |  | ||||||
|             die "Unable to create subvolume %s" "$copydir" |  | ||||||
|     else |  | ||||||
|         mkdir -p "$copydir" |  | ||||||
|         rsync -a --delete -q -W -x "$chrootdir/root/" "$copydir" |  | ||||||
|     fi |  | ||||||
|     stat_done |  | ||||||
|  |  | ||||||
|     # Drop the read lock again |  | ||||||
|     lock_close 8 |  | ||||||
|  |  | ||||||
|     # Update mtime |  | ||||||
|     touch "$copydir" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Usage: delete_chroot $copydir [$copy] |  | ||||||
| # delete_chroot() { |  | ||||||
| #     local copydir=$1 |  | ||||||
| #     local copy=${1:-$2} |  | ||||||
| # |  | ||||||
| #     stat_busy "Removing chroot copy [%s]" "$copy" |  | ||||||
| #     if is_btrfs "$chrootdir" && ! mountpoint -q "$copydir"; then |  | ||||||
| #         subvolume_delete_recursive "$copydir" || |  | ||||||
| #             die "Unable to delete subvolume %s" "$copydir" |  | ||||||
| #     else |  | ||||||
| #         # avoid change of filesystem in case of an umount failure |  | ||||||
| #         rm --recursive --force --one-file-system "$copydir" || |  | ||||||
| #             die "Unable to delete %s" "$copydir" |  | ||||||
| #     fi |  | ||||||
| # |  | ||||||
| #     # remove lock file |  | ||||||
| #     rm -f "$copydir.lock" |  | ||||||
| #     stat_done |  | ||||||
| # } |  | ||||||
|  |  | ||||||
| # Usage: install_packages $copydir $pkgs... |  | ||||||
| install_packages() { |  | ||||||
|     local copydir=$1 |  | ||||||
|     local install_pkgs=("${@:2}") |  | ||||||
|  |  | ||||||
|     local -a pkgnames |  | ||||||
|     local ret |  | ||||||
|  |  | ||||||
|     pkgnames=("${install_pkgs[@]##*/}") |  | ||||||
|  |  | ||||||
|     cp -- "${install_pkgs[@]}" "$copydir/root/" |  | ||||||
|     chroot-run -r "${bindmounts_ro[*]}" -w "${bindmounts_rw[*]}" "$copydir" \ |  | ||||||
|         pacman -U --noconfirm -- "${pkgnames[@]/#//root/}" |  | ||||||
|     ret=$? |  | ||||||
|     rm -- "${pkgnames[@]/#/$copydir/root/}" |  | ||||||
|  |  | ||||||
|     return $ret |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Usage: prepare_chroot $copydir $HOME $repack $run_namcap |  | ||||||
| # Globals: |  | ||||||
| #  - MAKEFLAGS |  | ||||||
| #  - PACKAGER |  | ||||||
| prepare_chroot() { |  | ||||||
|     local copydir=$1 |  | ||||||
|     local USER_HOME=$2 |  | ||||||
|     local repack=$3 |  | ||||||
|     local run_namcap=$4 |  | ||||||
|  |  | ||||||
|     $repack || rm -rf "$copydir/build" |  | ||||||
|  |  | ||||||
|     local builduser_uid="${SUDO_UID:-$UID}" |  | ||||||
|     local builduser_gid="$(id -g "$builduser_uid")" |  | ||||||
|     local install="install -o $builduser_uid -g $builduser_gid" |  | ||||||
|     local x |  | ||||||
|  |  | ||||||
|     # We can't use useradd without chrooting, otherwise it invokes PAM modules |  | ||||||
|     # which we might not be able to load (i.e. when building i686 packages on |  | ||||||
|     # an x86_64 host). |  | ||||||
|     sed -e '/^builduser:/d' -i "$copydir"/etc/{passwd,group} |  | ||||||
|     printf >>"$copydir/etc/group"  'builduser:x:%d:\n' $builduser_gid |  | ||||||
|     printf >>"$copydir/etc/passwd" 'builduser:x:%d:%d:builduser:/build:/bin/bash\n' $builduser_uid $builduser_gid |  | ||||||
|  |  | ||||||
|     $install -d "$copydir"/{build,build/.gnupg,startdir,{pkg,srcpkg,src,log}dest} |  | ||||||
|  |  | ||||||
|     for x in .gnupg/pubring.{kbx,gpg}; do |  | ||||||
|         [[ -r $USER_HOME/$x ]] || continue |  | ||||||
|         $install -m 644 "$USER_HOME/$x" "$copydir/build/$x" |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     sed -e '/^MAKEFLAGS=/d' -e '/^PACKAGER=/d' -i "$copydir/etc/makepkg.conf" |  | ||||||
|     for x in BUILDDIR=/build PKGDEST=/pkgdest SRCPKGDEST=/srcpkgdest SRCDEST=/srcdest LOGDEST=/logdest \ |  | ||||||
|         "MAKEFLAGS='${MAKEFLAGS:-}'" "PACKAGER='${PACKAGER:-}'" |  | ||||||
|     do |  | ||||||
|         grep -q "^$x" "$copydir/etc/makepkg.conf" && continue |  | ||||||
|         echo "$x" >>"$copydir/etc/makepkg.conf" |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     cat > "$copydir/etc/sudoers.d/builduser-pacman" <<EOF |  | ||||||
| builduser ALL = NOPASSWD: /usr/bin/pacman |  | ||||||
| EOF |  | ||||||
|     chmod 440 "$copydir/etc/sudoers.d/builduser-pacman" |  | ||||||
|  |  | ||||||
|     # This is a little gross, but this way the script is recreated every time in the |  | ||||||
|     # working copy |  | ||||||
|     { |  | ||||||
|         printf '#!/bin/bash\n' |  | ||||||
|         declare -f _chrootbuild |  | ||||||
|         printf '_chrootbuild "$@" || exit\n' |  | ||||||
|  |  | ||||||
|         if $run_namcap; then |  | ||||||
|             declare -f _chrootnamcap |  | ||||||
|             printf '_chrootnamcap || exit\n' |  | ||||||
|         fi |  | ||||||
|     } >"$copydir/chrootbuild" |  | ||||||
|     chmod +x "$copydir/chrootbuild" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # These functions aren't run in makechrootpkg, |  | ||||||
| # so no global variables |  | ||||||
| _chrootbuild() { |  | ||||||
|     . /etc/profile |  | ||||||
|     sudo -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| _chrootnamcap() { |  | ||||||
|     pacman -S --needed --noconfirm namcap |  | ||||||
|     for pkgfile in /startdir/PKGBUILD /pkgdest/*; do |  | ||||||
|         echo "Checking ${pkgfile##*/}" |  | ||||||
|         sudo -u builduser namcap "$pkgfile" 2>&1 | tee "/logdest/${pkgfile##*/}-namcap.log" |  | ||||||
|     done |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Usage: download_sources $copydir $src_owner |  | ||||||
| # Globals: |  | ||||||
| #  - SRCDEST |  | ||||||
| #  - USER |  | ||||||
| download_sources() { |  | ||||||
|     local copydir=$1 |  | ||||||
|     local src_owner=$2 |  | ||||||
|  |  | ||||||
|     local builddir="$(mktemp -d)" |  | ||||||
|     chmod 1777 "$builddir" |  | ||||||
|  |  | ||||||
|     # Ensure sources are downloaded |  | ||||||
|     makepkg_user=${makepkg_user:-$SUDO_USER} |  | ||||||
|     sudo -u "$makepkg_user" env SRCDEST="$SRCDEST" BUILDDIR="$builddir" \ |  | ||||||
|     makepkg --config="$copydir/etc/makepkg.conf" --verifysource -o || |  | ||||||
|     die "Could not download sources." |  | ||||||
|     (( $? != 0 )) && die "Could not download sources." |  | ||||||
|  |  | ||||||
|     # Clean up garbage from verifysource |  | ||||||
|     rm -rf "$builddir" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Usage: move_products $copydir $owner |  | ||||||
| # Globals: |  | ||||||
| #  - PKGDEST |  | ||||||
| #  - LOGDEST |  | ||||||
| move_products() { |  | ||||||
|     local copydir=$1 |  | ||||||
|     local src_owner=$2 |  | ||||||
|  |  | ||||||
|     local pkgfile |  | ||||||
|     for pkgfile in "$copydir"/pkgdest/*; do |  | ||||||
|         chown "$src_owner" "$pkgfile" |  | ||||||
|         mv "$pkgfile" "$PKGDEST" |  | ||||||
|  |  | ||||||
|         # Fix broken symlink because of temporary chroot PKGDEST /pkgdest |  | ||||||
|         if [[ "$PWD" != "$PKGDEST" && -L "$PWD/${pkgfile##*/}" ]]; then |  | ||||||
|             ln -sf "$PKGDEST/${pkgfile##*/}" |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     local l |  | ||||||
|     for l in "$copydir"/logdest/*; do |  | ||||||
|         [[ $l == */logpipe.* ]] && continue |  | ||||||
|         chown "$src_owner" "$l" |  | ||||||
|         mv "$l" "$LOGDEST" |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     for s in "$copydir"/srcpkgdest/*; do |  | ||||||
|         chown "$src_owner" "$s" |  | ||||||
|         mv "$s" "$SRCPKGDEST" |  | ||||||
|     done |  | ||||||
| } |  | ||||||
| # }}} |  | ||||||
|  |  | ||||||
| orig_argv=("$0" "$@") |  | ||||||
|  |  | ||||||
| main() { |  | ||||||
|     init_variables |  | ||||||
|  |  | ||||||
|     local opts='hcur:I:l:nTD:d:U:' |  | ||||||
|  |  | ||||||
|     while getopts ${opts} arg; do |  | ||||||
|         case "$arg" in |  | ||||||
|             c) clean_first=true ;; |  | ||||||
|             D) bindmounts_ro+=("$OPTARG") ;; |  | ||||||
|             d) bindmounts_rw+=("$OPTARG") ;; |  | ||||||
|             u) update_first=true ;; |  | ||||||
|             r) passeddir="$OPTARG" ;; |  | ||||||
|             I) install_pkgs+=("$OPTARG") ;; |  | ||||||
|             l) copy="$OPTARG" ;; |  | ||||||
|             n) run_namcap=true; makepkg_args+=(--install) ;; |  | ||||||
|             T) temp_chroot=true; copy+="-$$" ;; |  | ||||||
|             U) makepkg_user="$OPTARG" ;; |  | ||||||
|             h|*) usage ;; |  | ||||||
|         esac |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     [[ ! -f PKGBUILD && -z "${install_pkgs[*]}" ]] && die 'This must be run in a directory containing a PKGBUILD.' |  | ||||||
|     [[ -n $makepkg_user && -z $(id -u "$makepkg_user") ]] && die 'Invalid makepkg user.' |  | ||||||
|     makepkg_user=${makepkg_user:-${SUDO_USER:-$USER}} |  | ||||||
|  |  | ||||||
|     check_root |  | ||||||
|  |  | ||||||
|     # Canonicalize chrootdir, getting rid of trailing / |  | ||||||
|     chrootdir=$(readlink -e "$passeddir") |  | ||||||
|     [[ ! -d $chrootdir ]] && die "No chroot dir defined, or invalid path '%s'" "$passeddir" |  | ||||||
|     [[ ! -d $chrootdir/root ]] && die "Missing chroot dir root directory. Try using: mkchroot %s/root base-devel" "$chrootdir" |  | ||||||
|  |  | ||||||
|     if [[ ${copy:0:1} = / ]]; then |  | ||||||
|         copydir=$copy |  | ||||||
|     else |  | ||||||
|         copydir="$chrootdir/$copy" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     # Pass all arguments after -- right to makepkg |  | ||||||
|     makepkg_args+=("${@:$OPTIND}") |  | ||||||
|  |  | ||||||
|     # See if -R was passed to makepkg |  | ||||||
|     for arg in "${@:OPTIND}"; do |  | ||||||
|         case ${arg%%=*} in |  | ||||||
|             -*R*|--repackage) |  | ||||||
|                 repack=true |  | ||||||
|                 break 2 |  | ||||||
|                 ;; |  | ||||||
|         esac |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     load_user_info |  | ||||||
|  |  | ||||||
|     umask 0022 |  | ||||||
|  |  | ||||||
|     load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" |  | ||||||
|     load_vars /etc/makepkg.conf |  | ||||||
|  |  | ||||||
|     # Use PKGBUILD directory if these don't exist |  | ||||||
|     [[ -d $PKGDEST ]]    || PKGDEST=$PWD |  | ||||||
|     [[ -d $SRCDEST ]]    || SRCDEST=$PWD |  | ||||||
|     [[ -d $SRCPKGDEST ]] || SRCPKGDEST=$PWD |  | ||||||
|     [[ -d $LOGDEST ]]    || LOGDEST=$PWD |  | ||||||
|  |  | ||||||
|     # Lock the chroot we want to use. We'll keep this lock until we exit. |  | ||||||
|     lock 9 "$copydir.lock" "Locking chroot copy [%s]" "$copy" |  | ||||||
|  |  | ||||||
|     if [[ ! -d $copydir ]] || $clean_first; then |  | ||||||
|         sync_chroot "$chrootdir" "$copy" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     $update_first && chroot-run -r "${bindmounts_ro[*]}" -w "${bindmounts_rw[*]}" "$copydir" \ |  | ||||||
|         pacman -Syu --noconfirm |  | ||||||
|  |  | ||||||
|     if [[ -n ${install_pkgs[*]:-} ]]; then |  | ||||||
|         install_packages "$copydir" "${install_pkgs[@]}" |  | ||||||
|         ret=$? |  | ||||||
|         # If there is no PKGBUILD we have done |  | ||||||
|         [[ -f PKGBUILD ]] || return $ret |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "$(id -u "$makepkg_user")" == 0 ]]; then |  | ||||||
|         error "Running makepkg as root is not allowed." |  | ||||||
|         exit 1 |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     download_sources "$copydir" "$src_owner" |  | ||||||
|  |  | ||||||
|     prepare_chroot "$copydir" "$USER_HOME" "$repack" "$run_namcap" |  | ||||||
|  |  | ||||||
|     bindmounts_rw+=("${PWD}:/startdir" "${SRCDEST}:/srcdest") |  | ||||||
|  |  | ||||||
|     if chroot-run -r "${bindmounts_ro[*]}" -w "${bindmounts_rw[*]}" "$copydir" \ |  | ||||||
|         /chrootbuild "${makepkg_args[@]}"; then |  | ||||||
|         move_products "$copydir" "$src_owner" |  | ||||||
|     else |  | ||||||
|         (( ret += 1 )) |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     $temp_chroot && delete_chroot "$copydir" "$copy" |  | ||||||
|  |  | ||||||
|     if (( ret != 0 )); then |  | ||||||
|         if $temp_chroot; then |  | ||||||
|             die "Build failed" |  | ||||||
|         else |  | ||||||
|             die "Build failed, check %s/build" "$copydir" |  | ||||||
|         fi |  | ||||||
|     else |  | ||||||
|         true |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| main "$@" |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| LIBDIR='@libdir@' |  | ||||||
|  |  | ||||||
| [[ -r ${LIBDIR}/util-msg.sh ]] && source ${LIBDIR}/util-msg.sh |  | ||||||
| import ${LIBDIR}/util.sh |  | ||||||
|  |  | ||||||
| load_user_info |  | ||||||
|  |  | ||||||
| load_vars "${PAC_USERCONFDIR}/makepkg.conf" || load_vars "$USER_HOME/.makepkg.conf" |  | ||||||
| load_vars /etc/makepkg.conf |  | ||||||
|  |  | ||||||
| if [ ! -e "$1" ]; then |  | ||||||
|     error "%s does not exist!" "$1" |  | ||||||
|     exit 1 |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| msg2 "Signing [%s] with key %s" "${1##*/}" "${GPGKEY}..." |  | ||||||
| gpg --detach-sign --use-agent -u "${GPGKEY}" "$1" |  | ||||||
| @@ -1,14 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| find $PWD -maxdepth 1 -name '*.pkg.tar.xz' -exec signfile {} \; |  | ||||||
| @@ -1,39 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
| # |  | ||||||
| # This program is free software; you can redistribute it and/or modify |  | ||||||
| # it under the terms of the GNU General Public License as published by |  | ||||||
| # the Free Software Foundation; version 2 of the License. |  | ||||||
| # |  | ||||||
| # This program is distributed in the hope that it will be useful, |  | ||||||
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  | ||||||
| # GNU General Public License for more details. |  | ||||||
|  |  | ||||||
| version=@version@ |  | ||||||
|  |  | ||||||
| if [ $# -eq 0 ]; then |  | ||||||
|     echo " |  | ||||||
|     usage: testiso <isofile> [id|ic|sd|sc|vd|vc] |  | ||||||
|  |  | ||||||
|     id    boot iso as IDE disk |  | ||||||
|     ic    boot iso as IDE cd-rom |  | ||||||
|     sd    boot iso as SCSI disk |  | ||||||
|     sc    boot iso as SCSI cd-rom |  | ||||||
|     vd    boot iso as virtio disk |  | ||||||
|     vc    boot iso as virtio cd-rom |  | ||||||
|     " |  | ||||||
|     exit 1 |  | ||||||
| fi |  | ||||||
|  |  | ||||||
| case "${2}" in |  | ||||||
|     id) IF="ide"; MEDIA="disk";; |  | ||||||
|     ic) IF="ide"; MEDIA="cdrom";; |  | ||||||
|     sd) IF="scsi"; MEDIA="disk";; |  | ||||||
|     sc) IF="scsi"; MEDIA="cdrom";; |  | ||||||
|     vd) IF="virtio"; MEDIA="disk";; |  | ||||||
|     vc) IF="virtio"; MEDIA="cdrom";; |  | ||||||
|     *) IF="scsi"; MEDIA="cdrom";; |  | ||||||
| esac |  | ||||||
|  |  | ||||||
| echo qemu -m 256 -drive file=${1},if=${IF},media=${MEDIA},boot=on |  | ||||||
| qemu -m 256 -drive file=${1},if=${IF},media=${MEDIA},boot=on |  | ||||||
							
								
								
									
										37
									
								
								config/conf/artools-iso.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								config/conf/artools-iso.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,37 @@ | |||||||
|  | #!/hint/bash | ||||||
|  | # shellcheck disable=2034 | ||||||
|  |  | ||||||
|  | ############################################# | ||||||
|  | ################ artools-iso ################ | ||||||
|  | ############################################# | ||||||
|  |  | ||||||
|  | # default chroots dir where buildiso chroots are created | ||||||
|  | # CHROOTS_DIR=/var/lib/artools | ||||||
|  |  | ||||||
|  | # default workspace directory | ||||||
|  | # WORKSPACE_DIR="${USER_HOME}/artools-workspace" | ||||||
|  |  | ||||||
|  | # default arch to build | ||||||
|  | # ARCH=$(uname -m) | ||||||
|  |  | ||||||
|  | # default pacman.conf to include | ||||||
|  | # possible values: {stable,gremlins,goblins} | ||||||
|  | # STABILITY="stable" | ||||||
|  |  | ||||||
|  | # default iso storage directory | ||||||
|  | # ISO_POOL="${WORKSPACE_DIR}/iso" | ||||||
|  |  | ||||||
|  | # default dist release; default: auto | ||||||
|  | # ISO_VERSION=$(date +%Y%m%d) | ||||||
|  |  | ||||||
|  | # default init system, possible values: openrc, runit, s6, suite66, dinit | ||||||
|  | # INITSYS="openrc" | ||||||
|  |  | ||||||
|  | # gpg key; leave empty or commented to skip img signing | ||||||
|  | # GPG_KEY="" | ||||||
|  |  | ||||||
|  | # default compression, possible values: zstd (default), xz | ||||||
|  | # COMPRESSION="zstd" | ||||||
|  |  | ||||||
|  | # default compression level, zstd only: range 1..22 | ||||||
|  | # COMPRESSION_LEVEL=15 | ||||||
							
								
								
									
										46
									
								
								config/conf/artools-pkg.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								config/conf/artools-pkg.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,46 @@ | |||||||
|  | #!/hint/bash | ||||||
|  | # shellcheck disable=2034 | ||||||
|  |  | ||||||
|  | ############################################# | ||||||
|  | ################ artools-pkg ################ | ||||||
|  | ############################################# | ||||||
|  |  | ||||||
|  | # default chroots dir where buildpkg chroots are created | ||||||
|  | # CHROOTS_DIR=/var/lib/artools | ||||||
|  |  | ||||||
|  | # default workspace directory | ||||||
|  | # WORKSPACE_DIR="${USER_HOME}/artools-workspace" | ||||||
|  |  | ||||||
|  | # default arch to build | ||||||
|  | # ARCH=$(uname -m) | ||||||
|  |  | ||||||
|  | # default pacman.conf repos to include | ||||||
|  | # possible values: {system,world,galaxy,lib32}{-gremlins,-goblins} | ||||||
|  | # REPO="world" | ||||||
|  |  | ||||||
|  | # gitea user access token for gitea api | ||||||
|  | # GIT_TOKEN='' | ||||||
|  |  | ||||||
|  | # default workspace dir for artixpkg | ||||||
|  | # TREE_DIR_ARTIX=${WORKSPACE_DIR}/artixlinux | ||||||
|  |  | ||||||
|  | # default repos root for deploypkg | ||||||
|  | # REPOS_ROOT=${WORKSPACE_DIR}/repos | ||||||
|  |  | ||||||
|  | # default mirror for checkrepo | ||||||
|  | # REPOS_MIRROR="http://mirror1.artixlinux.org/repos" | ||||||
|  |  | ||||||
|  | # default packaging org | ||||||
|  | # GIT_ORG='packages' | ||||||
|  |  | ||||||
|  | # default archiving org | ||||||
|  | # GIT_ORG_ARCHIVE='landfill' | ||||||
|  |  | ||||||
|  | # default jenkins agents | ||||||
|  | # AGENTS=(orion taurus) | ||||||
|  |  | ||||||
|  | # whether to include custom maintainer line when importing from arch | ||||||
|  | # PATCH_MAINTAINER=false | ||||||
|  |  | ||||||
|  | # override the default git url for patches repo | ||||||
|  | # PATCH_URL=${GIT_SSH}:artix/artix-patches.git | ||||||
							
								
								
									
										18
									
								
								config/makepkg/conf.d/fortran.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								config/makepkg/conf.d/fortran.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | #!/hint/bash | ||||||
|  | # | ||||||
|  | # /etc/makepkg.conf.d/fortran.conf | ||||||
|  | # | ||||||
|  |  | ||||||
|  | ######################################################################### | ||||||
|  | # FORTRAN LANGUAGE SUPPORT | ||||||
|  | ######################################################################### | ||||||
|  |  | ||||||
|  | # Flags used for the Fortran compiler, similar in spirit to CFLAGS. Read | ||||||
|  | # linkman:gfortran[1] for more details on the available flags. | ||||||
|  | #FFLAGS="-O2 -pipe" | ||||||
|  | #FCFLAGS="$FFLAGS" | ||||||
|  |  | ||||||
|  | # Additional compiler flags appended to `FFLAGS` and `FCFLAGS` for use in debugging. Usually | ||||||
|  | # this would include: ``-g''. Read linkman:gfortran[1] for more details on the wide | ||||||
|  | # variety of compiler flags available. | ||||||
|  | #DEBUG_FFLAGS="-g" | ||||||
							
								
								
									
										19
									
								
								config/makepkg/conf.d/rust.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								config/makepkg/conf.d/rust.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | #!/hint/bash | ||||||
|  | # shellcheck disable=2034 | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # /etc/makepkg.conf.d/rust.conf | ||||||
|  | # | ||||||
|  |  | ||||||
|  | ######################################################################### | ||||||
|  | # RUST LANGUAGE SUPPORT | ||||||
|  | ######################################################################### | ||||||
|  |  | ||||||
|  | # Flags used for the Rust compiler, similar in spirit to CFLAGS. Read | ||||||
|  | # linkman:rustc[1] for more details on the available flags. | ||||||
|  | RUSTFLAGS="-Cforce-frame-pointers=yes" | ||||||
|  |  | ||||||
|  | # Additional compiler flags appended to `RUSTFLAGS` for use in debugging. | ||||||
|  | # Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for | ||||||
|  | # more details on the available flags. | ||||||
|  | DEBUG_RUSTFLAGS="-C debuginfo=2" | ||||||
| @@ -1,3 +1,6 @@ | |||||||
|  | #!/hint/bash | ||||||
|  | # shellcheck disable=2034 | ||||||
|  | 
 | ||||||
| # | # | ||||||
| # /etc/makepkg.conf | # /etc/makepkg.conf | ||||||
| # | # | ||||||
| @@ -8,9 +11,10 @@ | |||||||
| # | # | ||||||
| #-- The download utilities that makepkg should use to acquire sources | #-- The download utilities that makepkg should use to acquire sources | ||||||
| #  Format: 'protocol::agent' | #  Format: 'protocol::agent' | ||||||
| DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' | DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u' | ||||||
|           'http::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' |           'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' | ||||||
|           'https::/usr/bin/curl -fLC - --retry 3 --retry-delay 3 -o %o %u' |           'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' | ||||||
|  |           'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' | ||||||
|           'rsync::/usr/bin/rsync --no-motd -z %u %o' |           'rsync::/usr/bin/rsync --no-motd -z %u %o' | ||||||
|           'scp::/usr/bin/scp -C %u %o') |           'scp::/usr/bin/scp -C %u %o') | ||||||
| 
 | 
 | ||||||
| @@ -20,40 +24,43 @@ DLAGENTS=('ftp::/usr/bin/curl -fC - --ftp-pasv --retry 3 --retry-delay 3 -o %o % | |||||||
| # /usr/bin/wget | # /usr/bin/wget | ||||||
| 
 | 
 | ||||||
| #-- The package required by makepkg to download VCS sources | #-- The package required by makepkg to download VCS sources | ||||||
| # Format: 'protocol::package' | #  Format: 'protocol::package' | ||||||
| VCSCLIENTS=('bzr::bzr' | VCSCLIENTS=('bzr::breezy' | ||||||
| 	    'git::git' |             'fossil::fossil' | ||||||
| 	    'hg::mercurial' |             'git::git' | ||||||
| 	    'svn::subversion') |             'hg::mercurial' | ||||||
|  |             'svn::subversion') | ||||||
| 
 | 
 | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # ARCHITECTURE, COMPILE FLAGS | # ARCHITECTURE, COMPILE FLAGS | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # | # | ||||||
| CARCH="@CARCH@" | CARCH="x86_64" | ||||||
| CHOST="@CHOST@" | CHOST="x86_64-pc-linux-gnu" | ||||||
| 
 | 
 | ||||||
| #-- Compiler and Linker Flags | #-- Compiler and Linker Flags | ||||||
| # -march (or -mcpu) builds exclusively for an architecture | #CPPFLAGS="" | ||||||
| # -mtune optimizes for an architecture, but builds for whole processor family | CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ | ||||||
| CPPFLAGS="-D_FORTIFY_SOURCE=2" |         -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ | ||||||
| CFLAGS="@CFLAGS@" |         -fstack-clash-protection -fcf-protection" | ||||||
| CXXFLAGS="@CFLAGS@" |         # -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" | ||||||
| LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro" | CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" | ||||||
|  | LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \ | ||||||
|  |          -Wl,-z,pack-relative-relocs" | ||||||
|  | LTOFLAGS="-flto=auto" | ||||||
| #-- Make Flags: change this for DistCC/SMP systems | #-- Make Flags: change this for DistCC/SMP systems | ||||||
| #MAKEFLAGS="-j2" | #MAKEFLAGS="-j2" | ||||||
| #-- Debugging flags | #-- Debugging flags | ||||||
| DEBUG_CFLAGS="-g -fvar-tracking-assignments" | DEBUG_CFLAGS="-g" | ||||||
| DEBUG_CXXFLAGS="-g -fvar-tracking-assignments" | DEBUG_CXXFLAGS="$DEBUG_CFLAGS" | ||||||
| 
 | 
 | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # BUILD ENVIRONMENT | # BUILD ENVIRONMENT | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # | # | ||||||
| # Defaults: BUILDENV=(fakeroot !distcc color !ccache check !sign) | # Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign) | ||||||
| #  A negated environment option will do the opposite of the comments below. | #  A negated environment option will do the opposite of the comments below. | ||||||
| # | # | ||||||
| #-- fakeroot: Allow building packages as a non-root user |  | ||||||
| #-- distcc:   Use the Distributed C/C++/ObjC compiler | #-- distcc:   Use the Distributed C/C++/ObjC compiler | ||||||
| #-- color:    Colorize output messages | #-- color:    Colorize output messages | ||||||
| #-- ccache:   Use ccache to cache compilation | #-- ccache:   Use ccache to cache compilation | ||||||
| @@ -74,7 +81,7 @@ BUILDENV=(!distcc color !ccache check !sign) | |||||||
| #   These are default values for the options=() settings | #   These are default values for the options=() settings | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # | # | ||||||
| # Default: OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug) | # Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps) | ||||||
| #  A negated option will do the opposite of the comments below. | #  A negated option will do the opposite of the comments below. | ||||||
| # | # | ||||||
| #-- strip:      Strip symbols from binaries/libraries | #-- strip:      Strip symbols from binaries/libraries | ||||||
| @@ -84,13 +91,14 @@ BUILDENV=(!distcc color !ccache check !sign) | |||||||
| #-- emptydirs:  Leave empty directories in packages | #-- emptydirs:  Leave empty directories in packages | ||||||
| #-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip | #-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip | ||||||
| #-- purge:      Remove files specified by PURGE_TARGETS | #-- purge:      Remove files specified by PURGE_TARGETS | ||||||
| #-- upx:        Compress binary executable files using UPX |  | ||||||
| #-- debug:      Add debugging flags as specified in DEBUG_* variables | #-- debug:      Add debugging flags as specified in DEBUG_* variables | ||||||
|  | #-- lto:        Add compile flags for building with link time optimization | ||||||
|  | #-- autodeps:   Automatically add depends/provides | ||||||
| # | # | ||||||
| OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !optipng !upx !debug) | OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto) | ||||||
| 
 | 
 | ||||||
| #-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512 | #-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2 | ||||||
| INTEGRITY_CHECK=(md5) | INTEGRITY_CHECK=(sha256) | ||||||
| #-- Options to be used when stripping binaries. See `man strip' for details. | #-- Options to be used when stripping binaries. See `man strip' for details. | ||||||
| STRIP_BINARIES="--strip-all" | STRIP_BINARIES="--strip-all" | ||||||
| #-- Options to be used when stripping shared libraries. See `man strip' for details. | #-- Options to be used when stripping shared libraries. See `man strip' for details. | ||||||
| @@ -103,6 +111,10 @@ MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info}) | |||||||
| DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) | DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc}) | ||||||
| #-- Files to be removed from all packages (if purge is specified) | #-- Files to be removed from all packages (if purge is specified) | ||||||
| PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) | PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) | ||||||
|  | #-- Directory to store source code in for debug packages | ||||||
|  | DBGSRCDIR="/usr/src/debug" | ||||||
|  | #-- Prefix and directories for library autodeps | ||||||
|  | LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32') | ||||||
| 
 | 
 | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # PACKAGE OUTPUT | # PACKAGE OUTPUT | ||||||
| @@ -130,18 +142,24 @@ PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod) | |||||||
| COMPRESSGZ=(gzip -c -f -n) | COMPRESSGZ=(gzip -c -f -n) | ||||||
| COMPRESSBZ2=(bzip2 -c -f) | COMPRESSBZ2=(bzip2 -c -f) | ||||||
| COMPRESSXZ=(xz -c -z -) | COMPRESSXZ=(xz -c -z -) | ||||||
|  | COMPRESSZST=(zstd -c -T0 --ultra -20 -) | ||||||
| COMPRESSLRZ=(lrzip -q) | COMPRESSLRZ=(lrzip -q) | ||||||
| COMPRESSLZO=(lzop -q) | COMPRESSLZO=(lzop -q) | ||||||
| COMPRESSZ=(compress -c -f) | COMPRESSZ=(compress -c -f) | ||||||
|  | COMPRESSLZ4=(lz4 -q) | ||||||
|  | COMPRESSLZ=(lzip -c -f) | ||||||
| 
 | 
 | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # EXTENSION DEFAULTS | # EXTENSION DEFAULTS | ||||||
| ######################################################################### | ######################################################################### | ||||||
| # | # | ||||||
| # WARNING: Do NOT modify these variables unless you know what you are | PKGEXT='.pkg.tar.zst' | ||||||
| #          doing. |  | ||||||
| # |  | ||||||
| PKGEXT='.pkg.tar.xz' |  | ||||||
| SRCEXT='.src.tar.gz' | SRCEXT='.src.tar.gz' | ||||||
| 
 | 
 | ||||||
|  | ######################################################################### | ||||||
|  | # OTHER | ||||||
|  | ######################################################################### | ||||||
|  | # | ||||||
|  | #-- Command used to run pacman as root, instead of trying sudo and su | ||||||
|  | #PACMAN_AUTH=() | ||||||
| # vim: set ft=sh ts=2 sw=2 et: | # vim: set ft=sh ts=2 sw=2 et: | ||||||
							
								
								
									
										1
									
								
								config/makepkg/x86_64.conf.d/fortran.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								config/makepkg/x86_64.conf.d/fortran.conf
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | ../conf.d/fortran.conf | ||||||
							
								
								
									
										1
									
								
								config/makepkg/x86_64.conf.d/rust.conf
									
									
									
									
									
										Symbolic link
									
								
							
							
						
						
									
										1
									
								
								config/makepkg/x86_64.conf.d/rust.conf
									
									
									
									
									
										Symbolic link
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | ../conf.d/rust.conf | ||||||
							
								
								
									
										106
									
								
								config/pacman/galaxy-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								config/pacman/galaxy-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,106 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										97
									
								
								config/pacman/galaxy-gremlins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								config/pacman/galaxy-gremlins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										97
									
								
								config/pacman/galaxy-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								config/pacman/galaxy-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | #[system-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | #[world-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | #[galaxy-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										117
									
								
								config/pacman/iso-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								config/pacman/iso-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,117 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | Color | ||||||
|  | #NoProgressBar | ||||||
|  | CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 10 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | # [lib32-goblins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  | # | ||||||
|  | # [lib32-gremlins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  | # | ||||||
|  | # [lib32] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										105
									
								
								config/pacman/iso-gremlins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								config/pacman/iso-gremlins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,105 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | Color | ||||||
|  | #NoProgressBar | ||||||
|  | CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 10 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | # [lib32-gremlins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  | # | ||||||
|  | # [lib32] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										105
									
								
								config/pacman/iso-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								config/pacman/iso-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,105 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | Color | ||||||
|  | #NoProgressBar | ||||||
|  | CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 10 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | # [system-gremlins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # [world-gremlins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # [galaxy-gremlins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [galaxy] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | # [lib32-gremlins] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  | # | ||||||
|  | # [lib32] | ||||||
|  | # Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										109
									
								
								config/pacman/lib32-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								config/pacman/lib32-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,109 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | [lib32-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [lib32-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [lib32] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										100
									
								
								config/pacman/lib32-gremlins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								config/pacman/lib32-gremlins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | [lib32-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [lib32] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										100
									
								
								config/pacman/lib32-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								config/pacman/lib32-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | #[system-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | #[world-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # If you want to run 32 bit applications on your x86_64 system, | ||||||
|  | # enable the lib32 repositories as required here. | ||||||
|  |  | ||||||
|  | #[lib32-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [lib32] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										97
									
								
								config/pacman/system-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								config/pacman/system-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
| @@ -16,10 +16,9 @@ | |||||||
| #GPGDir      = /etc/pacman.d/gnupg/ | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
| #HookDir     = /etc/pacman.d/hooks/ | #HookDir     = /etc/pacman.d/hooks/ | ||||||
| HoldPkg     = pacman glibc | HoldPkg     = pacman glibc | ||||||
| #XferCommand = /usr/bin/curl -C - -f %u > %o | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
| #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
| #CleanMethod = KeepInstalled | #CleanMethod = KeepInstalled | ||||||
| #UseDelta    = 0.7 |  | ||||||
| Architecture = auto | Architecture = auto | ||||||
| 
 | 
 | ||||||
| # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
| @@ -32,9 +31,13 @@ Architecture = auto | |||||||
| # Misc options | # Misc options | ||||||
| #UseSyslog | #UseSyslog | ||||||
| #Color | #Color | ||||||
| #TotalDownload | NoProgressBar | ||||||
| CheckSpace | # We cannot check disk space from within a chroot environment | ||||||
| #VerbosePkgLists | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
| 
 | 
 | ||||||
| # By default, pacman accepts packages signed by keys that its local keyring | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
| # trusts (see pacman-key and its man page), as well as unsigned packages. | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
| @@ -44,7 +47,7 @@ LocalFileSigLevel = Optional | |||||||
| 
 | 
 | ||||||
| # NOTE: You must run `pacman-key --init` before first using pacman; the local | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
| # keyring can then be populated with the keys of all official Artix Linux | # keyring can then be populated with the keys of all official Artix Linux | ||||||
| # packagers with `pacman-key --populate archlinux cromnix`. | # packagers with `pacman-key --populate artix`. | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # REPOSITORIES | # REPOSITORIES | ||||||
| @@ -63,14 +66,22 @@ LocalFileSigLevel = Optional | |||||||
| # | # | ||||||
| # The header [repo-name] is crucial - it must be present and | # The header [repo-name] is crucial - it must be present and | ||||||
| # uncommented to enable the repo. | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  | 
 | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
| [system] | [system] | ||||||
| Include = /etc/pacman.d/mirrorlist | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
| [world] | [world-gremlins] | ||||||
| Include = /etc/pacman.d/mirrorlist | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
| [galaxy] | [world] | ||||||
| Include = /etc/pacman.d/mirrorlist | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
| # An example of a custom package repository.  See the pacman manpage for | # An example of a custom package repository.  See the pacman manpage for | ||||||
| @@ -78,12 +89,3 @@ Include = /etc/pacman.d/mirrorlist | |||||||
| #[custom] | #[custom] | ||||||
| #SigLevel = Optional TrustAll | #SigLevel = Optional TrustAll | ||||||
| #Server = file:///home/custompkgs | #Server = file:///home/custompkgs | ||||||
| 
 |  | ||||||
| # [core] |  | ||||||
| # Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
| 
 |  | ||||||
| [extra] |  | ||||||
| Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
| 
 |  | ||||||
| [community] |  | ||||||
| Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
							
								
								
									
										91
									
								
								config/pacman/system-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								config/pacman/system-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | #[system-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | #[world-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										97
									
								
								config/pacman/world-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								config/pacman/world-goblins-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | [system-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-goblins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
| @@ -16,10 +16,9 @@ | |||||||
| #GPGDir      = /etc/pacman.d/gnupg/ | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
| #HookDir     = /etc/pacman.d/hooks/ | #HookDir     = /etc/pacman.d/hooks/ | ||||||
| HoldPkg     = pacman glibc | HoldPkg     = pacman glibc | ||||||
| #XferCommand = /usr/bin/curl -C - -f %u > %o | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
| #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
| #CleanMethod = KeepInstalled | #CleanMethod = KeepInstalled | ||||||
| #UseDelta    = 0.7 |  | ||||||
| Architecture = auto | Architecture = auto | ||||||
| 
 | 
 | ||||||
| # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
| @@ -32,9 +31,13 @@ Architecture = auto | |||||||
| # Misc options | # Misc options | ||||||
| #UseSyslog | #UseSyslog | ||||||
| #Color | #Color | ||||||
| #TotalDownload | NoProgressBar | ||||||
| CheckSpace | # We cannot check disk space from within a chroot environment | ||||||
| #VerbosePkgLists | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
| 
 | 
 | ||||||
| # By default, pacman accepts packages signed by keys that its local keyring | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
| # trusts (see pacman-key and its man page), as well as unsigned packages. | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
| @@ -44,7 +47,7 @@ LocalFileSigLevel = Optional | |||||||
| 
 | 
 | ||||||
| # NOTE: You must run `pacman-key --init` before first using pacman; the local | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
| # keyring can then be populated with the keys of all official Artix Linux | # keyring can then be populated with the keys of all official Artix Linux | ||||||
| # packagers with `pacman-key --populate archlinux cromnix`. | # packagers with `pacman-key --populate artix`. | ||||||
| 
 | 
 | ||||||
| # | # | ||||||
| # REPOSITORIES | # REPOSITORIES | ||||||
| @@ -63,33 +66,26 @@ LocalFileSigLevel = Optional | |||||||
| # | # | ||||||
| # The header [repo-name] is crucial - it must be present and | # The header [repo-name] is crucial - it must be present and | ||||||
| # uncommented to enable the repo. | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  | 
 | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  | 
 | ||||||
|  | [system-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
| [system] | [system] | ||||||
| Include = /etc/pacman.d/mirrorlist | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
|  | [world-gremlins] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  | 
 | ||||||
| [world] | [world] | ||||||
| Include = /etc/pacman.d/mirrorlist | Include = /etc/pacman.d/mirrorlist | ||||||
| 
 | 
 | ||||||
| [galaxy] |  | ||||||
| Include = /etc/pacman.d/mirrorlist |  | ||||||
| 
 |  | ||||||
| # If you want to run 32 bit applications on your x86_64 system, |  | ||||||
| # enable the multilib repositories as required here. |  | ||||||
| 
 |  | ||||||
| [multilib] |  | ||||||
| Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
| 
 |  | ||||||
| # An example of a custom package repository.  See the pacman manpage for | # An example of a custom package repository.  See the pacman manpage for | ||||||
| # tips on creating your own repositories. | # tips on creating your own repositories. | ||||||
| #[custom] | #[custom] | ||||||
| #SigLevel = Optional TrustAll | #SigLevel = Optional TrustAll | ||||||
| #Server = file:///home/custompkgs | #Server = file:///home/custompkgs | ||||||
| 
 |  | ||||||
| # [core] |  | ||||||
| # Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
| 
 |  | ||||||
| [extra] |  | ||||||
| Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
| 
 |  | ||||||
| [community] |  | ||||||
| Include = /etc/pacman.d/mirrorlist-arch |  | ||||||
							
								
								
									
										91
									
								
								config/pacman/world-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								config/pacman/world-x86_64.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,91 @@ | |||||||
|  | # | ||||||
|  | # /etc/pacman.conf | ||||||
|  | # | ||||||
|  | # See the pacman.conf(5) manpage for option and repository directives | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # GENERAL OPTIONS | ||||||
|  | # | ||||||
|  | [options] | ||||||
|  | # The following paths are commented out with their default values listed. | ||||||
|  | # If you wish to use different paths, uncomment and update the paths. | ||||||
|  | #RootDir     = / | ||||||
|  | #DBPath      = /var/lib/pacman/ | ||||||
|  | #CacheDir    = /var/cache/pacman/pkg/ | ||||||
|  | #LogFile     = /var/log/pacman.log | ||||||
|  | #GPGDir      = /etc/pacman.d/gnupg/ | ||||||
|  | #HookDir     = /etc/pacman.d/hooks/ | ||||||
|  | HoldPkg     = pacman glibc | ||||||
|  | #XferCommand = /usr/bin/curl -L -C - -f -o %o %u | ||||||
|  | #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u | ||||||
|  | #CleanMethod = KeepInstalled | ||||||
|  | Architecture = auto | ||||||
|  |  | ||||||
|  | # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup | ||||||
|  | #IgnorePkg   = | ||||||
|  | #IgnoreGroup = | ||||||
|  |  | ||||||
|  | #NoUpgrade   = | ||||||
|  | #NoExtract   = | ||||||
|  |  | ||||||
|  | # Misc options | ||||||
|  | #UseSyslog | ||||||
|  | #Color | ||||||
|  | NoProgressBar | ||||||
|  | # We cannot check disk space from within a chroot environment | ||||||
|  | #CheckSpace | ||||||
|  | VerbosePkgLists | ||||||
|  | ParallelDownloads = 5 | ||||||
|  | DownloadUser = alpm | ||||||
|  | #DisableSandbox | ||||||
|  |  | ||||||
|  | # By default, pacman accepts packages signed by keys that its local keyring | ||||||
|  | # trusts (see pacman-key and its man page), as well as unsigned packages. | ||||||
|  | SigLevel    = Required DatabaseOptional | ||||||
|  | LocalFileSigLevel = Optional | ||||||
|  | #RemoteFileSigLevel = Required | ||||||
|  |  | ||||||
|  | # NOTE: You must run `pacman-key --init` before first using pacman; the local | ||||||
|  | # keyring can then be populated with the keys of all official Artix Linux | ||||||
|  | # packagers with `pacman-key --populate artix`. | ||||||
|  |  | ||||||
|  | # | ||||||
|  | # REPOSITORIES | ||||||
|  | #   - can be defined here or included from another file | ||||||
|  | #   - pacman will search repositories in the order defined here | ||||||
|  | #   - local/custom mirrors can be added here or in separate files | ||||||
|  | #   - repositories listed first will take precedence when packages | ||||||
|  | #     have identical names, regardless of version number | ||||||
|  | #   - URLs will have $repo replaced by the name of the current repo | ||||||
|  | #   - URLs will have $arch replaced by the name of the architecture | ||||||
|  | # | ||||||
|  | # Repository entries are of the format: | ||||||
|  | #       [repo-name] | ||||||
|  | #       Server = ServerName | ||||||
|  | #       Include = IncludePath | ||||||
|  | # | ||||||
|  | # The header [repo-name] is crucial - it must be present and | ||||||
|  | # uncommented to enable the repo. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | # The gremlins repositories are disabled by default. To enable, uncomment the | ||||||
|  | # repo name header and Include lines. You can add preferred servers immediately | ||||||
|  | # after the header, and they will be used before the default mirrors. | ||||||
|  |  | ||||||
|  | #[system-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [system] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | #[world-gremlins] | ||||||
|  | #Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | [world] | ||||||
|  | Include = /etc/pacman.d/mirrorlist | ||||||
|  |  | ||||||
|  | # An example of a custom package repository.  See the pacman manpage for | ||||||
|  | # tips on creating your own repositories. | ||||||
|  | #[custom] | ||||||
|  | #SigLevel = Optional TrustAll | ||||||
|  | #Server = file:///home/custompkgs | ||||||
							
								
								
									
										1
									
								
								config/setarch-aliases.d/x86_64_v3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								config/setarch-aliases.d/x86_64_v3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | x86_64 | ||||||
							
								
								
									
										295
									
								
								contrib/completion/bash/artixpkg.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										295
									
								
								contrib/completion/bash/artixpkg.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,295 @@ | |||||||
|  | #/usr/bin/env bash | ||||||
|  |  | ||||||
|  | LIBDIR=${LIBDIR:-'@libdir@'} | ||||||
|  |  | ||||||
|  | _artixpkg_pkgbase() { | ||||||
|  |     source "${LIBDIR}"/pkg/git/config.sh | ||||||
|  |     source "${LIBDIR}"/pkg/util.sh | ||||||
|  |     ls -1 "${TREE_DIR_ARTIX}" | tr '\n' ' ' | ||||||
|  | } | ||||||
|  |  | ||||||
|  | _artixpkg_remotepkgbase() { | ||||||
|  |     curl -s "https://checkupdates.artixlinux.org/api/1.0/packages?startswith=$1" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | _artixpkg_maintainers() { | ||||||
|  |     curl -s "https://checkupdates.artixlinux.org/api/1.0/maintainers" | ||||||
|  | } | ||||||
|  |  | ||||||
|  | _artixpkg_completion() { | ||||||
|  |     local cur prev comps comps_all repos autorepos teams agents cwords comp_cword_exflag | ||||||
|  |     source "${LIBDIR}"/pkg/db/db.sh 2>/dev/null | ||||||
|  |  | ||||||
|  |     cur="${COMP_WORDS[COMP_CWORD]}" | ||||||
|  |     prev="${COMP_WORDS[COMP_CWORD-1]}" | ||||||
|  |  | ||||||
|  |     for ((i = COMP_CWORD - 1; i >= 0; i--)); do | ||||||
|  |         if [[ ${COMP_WORDS[i]} != -* ]]; then | ||||||
|  |             last_non_flag_word="${COMP_WORDS[i]}" | ||||||
|  |             break | ||||||
|  |         fi | ||||||
|  |     done | ||||||
|  |  | ||||||
|  |     comps="" | ||||||
|  |     comps_all="" | ||||||
|  |     comp_cword_exflag=0 | ||||||
|  |     comp_cword_all=0 | ||||||
|  |     for ((i = 0; i < ${#COMP_WORDS[@]} - 1; i++)); do | ||||||
|  |         word="${COMP_WORDS[i]}" | ||||||
|  |         comps_all+=" $word" | ||||||
|  |         ((comp_cword_all++)) | ||||||
|  |         if [[ $word != -* ]]; then | ||||||
|  |             comps+=" $word" | ||||||
|  |             ((comp_cword_exflag++)) | ||||||
|  |         fi | ||||||
|  |     done | ||||||
|  |     comps="${comps:1}" | ||||||
|  |     comps_all="${comps_all:1}" | ||||||
|  |  | ||||||
|  |     repos="" | ||||||
|  |     for word in "${ARTIX_DB[@]}"; do | ||||||
|  |         if [[ $word != -* ]]; then | ||||||
|  |             repos+=" $word" | ||||||
|  |         fi | ||||||
|  |     done | ||||||
|  |     repos="${repos:1}" | ||||||
|  |     autorepos="" | ||||||
|  |     for word in "${ARTIX_DB_MAP[@]}"; do | ||||||
|  |         if [[ $word != -* ]]; then | ||||||
|  |             autorepos+=" $word" | ||||||
|  |         fi | ||||||
|  |     done | ||||||
|  |     autorepos="${autorepos:1}" | ||||||
|  |     teams="" | ||||||
|  |     for word in "${ARTIX_TEAMS[@]}"; do | ||||||
|  |         if [[ $word != -* ]]; then | ||||||
|  |             teams+=" $word" | ||||||
|  |         fi | ||||||
|  |     done | ||||||
|  |     teams="${teams:1}" | ||||||
|  |     agents="" | ||||||
|  |     for word in "${AGENTS[@]}"; do | ||||||
|  |         if [[ $word != -* ]]; then | ||||||
|  |             agents+=" $word" | ||||||
|  |         fi | ||||||
|  |     done | ||||||
|  |     agents="${agents:1}" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     case "${comp_cword_exflag}" in | ||||||
|  |         1) | ||||||
|  |             COMPREPLY=($(compgen -W "admin git repo version -h --help" -- "${cur}")) | ||||||
|  |             return 0 | ||||||
|  |             ;; | ||||||
|  |         2) | ||||||
|  |             case ${prev} in | ||||||
|  |                 admin) | ||||||
|  |                     COMPREPLY=($(compgen -W "maintainer query team topic transfer -h --help" -- ${cur})) | ||||||
|  |                     ;; | ||||||
|  |                 git) | ||||||
|  |                     COMPREPLY=($(compgen -W "ci clone config create pull push -h --help" -- ${cur})) | ||||||
|  |                     ;; | ||||||
|  |                 repo) | ||||||
|  |                     COMPREPLY=($(compgen -W "add remove move import show -h --help" -- ${cur})) | ||||||
|  |                     ;; | ||||||
|  |                 version) | ||||||
|  |                     COMPREPLY=($(compgen -W "-h --help" -- ${cur})) | ||||||
|  |                     ;; | ||||||
|  |             esac | ||||||
|  |             ;;   | ||||||
|  |         *) | ||||||
|  |             case "${comps}" in | ||||||
|  |                 "artixpkg repo add"*) | ||||||
|  |                     local repoAddCommon="-p --push -r --rebuild -n --nocheck -h --help" | ||||||
|  |                     case "${comp_cword_exflag}" in | ||||||
|  |                         3) | ||||||
|  |                             COMPREPLY=($(compgen -W "$repoAddCommon $autorepos $repos" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "$repoAddCommon $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg repo remove"*) | ||||||
|  |                     case "${comp_cword_exflag}" in | ||||||
|  |                         3) | ||||||
|  |                             COMPREPLY=($(compgen -W "-p --push -h --help $autorepos $repos" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-p --push -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg repo move"*) | ||||||
|  |                     case "${comp_cword_exflag}" in | ||||||
|  |                         3|4) | ||||||
|  |                             COMPREPLY=($(compgen -W "-p --push -h --help $autorepos $repos" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-p --push -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg repo import"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "--tag") | ||||||
|  |                             # this flag expects a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "--del -h --help --tag $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg repo show") | ||||||
|  |                     COMPREPLY=($(compgen -W "-b --base -p --pkgs -h --help" -- ${cur})) | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg git clone"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-a"|"--agent") | ||||||
|  |                             COMPREPLY=($(compgen -W "$agents" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "--protocol") | ||||||
|  |                             COMPREPLY=($(compgen -W "https" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-t"|"--team") | ||||||
|  |                             COMPREPLY=($(compgen -W "$teams" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-m"|"--maintainer") | ||||||
|  |                             COMPREPLY=($(compgen -W "$(_artixpkg_maintainers)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-s"|"--search"|"-j"|"--jobs") | ||||||
|  |                             # these flags expect a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-m --maintainer --protocol -s --search -t --team -a --agent -j --jobs --all -h --help $(_artixpkg_remotepkgbase ${cur})" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg git config"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "--protocol") | ||||||
|  |                             COMPREPLY=($(compgen -W "https" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-j"|"--jobs") | ||||||
|  |                             # these flags expect a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "--protocol -j --jobs -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg git create"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-a"|"--agent") | ||||||
|  |                             COMPREPLY=($(compgen -W "$agents" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-t"|"--team") | ||||||
|  |                             COMPREPLY=($(compgen -W "$teams" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-c --clone -a --agent -t --team -h --help" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg git pull"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-m"|"--maintainer") | ||||||
|  |                             COMPREPLY=($(compgen -W "$(_artixpkg_maintainers)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-t"|"--topic"|"-j"|"--jobs") | ||||||
|  |                             # these flags expect a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             case "${comps_all}" in | ||||||
|  |                                 *--all*) | ||||||
|  |                                     COMPREPLY=($(compgen -W "-m --maintainer -t --topic -j --jobs -h --help" -- ${cur})) | ||||||
|  |                                     ;; | ||||||
|  |                                 *) | ||||||
|  |                                     COMPREPLY=($(compgen -W "-m --maintainer -t --topic -j --jobs --all -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                                     ;; | ||||||
|  |                             esac | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg git push"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-m"|"--maintainer") | ||||||
|  |                             COMPREPLY=($(compgen -W "$(_artixpkg_maintainers)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-t"|"--topic"|"-j"|"--jobs") | ||||||
|  |                             # this flag expects a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-m --maintainer -t --topic -j --jobs -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg git ci"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-a"|"--agent") | ||||||
|  |                             COMPREPLY=($(compgen -W "$agents" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-a --agent -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg admin maintainer"*) | ||||||
|  |                     case "${comp_cword_all}" in | ||||||
|  |                         3) | ||||||
|  |                             COMPREPLY=($(compgen -W "-a --adopt --o --orphan -h --help" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg admin query"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-m"|"--maintainer") | ||||||
|  |                             COMPREPLY=($(compgen -W "$(_artixpkg_maintainers)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         "-t"|"--topic") | ||||||
|  |                             # this flag expects a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-m --maintainer -t --topic -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg admin team"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-a"|"--add"|"-r"|"--remove") | ||||||
|  |                             COMPREPLY=($(compgen -W "$teams" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-a --add -c --check -l --list -r --remove -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg admin topic"*) | ||||||
|  |                     case "${prev}" in | ||||||
|  |                         "-a"|"--add"|"-r"|"--remove"|"-j"|"--jobs") | ||||||
|  |                             # this flag expects a parameter | ||||||
|  |                             COMPREPLY=() | ||||||
|  |                             ;; | ||||||
|  |                         *) | ||||||
|  |                             COMPREPLY=($(compgen -W "-a --add -r --remove -d --del -j --jobs -h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                             ;; | ||||||
|  |                     esac | ||||||
|  |                     ;; | ||||||
|  |                 "artixpkg admin transfer"*) | ||||||
|  |                     COMPREPLY=($(compgen -W "-h --help $(_artixpkg_pkgbase)" -- ${cur})) | ||||||
|  |                     ;; | ||||||
|  |             esac | ||||||
|  |             ;; | ||||||
|  |     esac | ||||||
|  | } | ||||||
|  |  | ||||||
|  | complete -F _artixpkg_completion artixpkg | ||||||
							
								
								
									
										205
									
								
								contrib/completion/zsh/_artixpkg.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										205
									
								
								contrib/completion/zsh/_artixpkg.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,205 @@ | |||||||
|  | #compdef artixpkg | ||||||
|  |  | ||||||
|  | local -a addcmd admincmd cicmd clonecmd configcmd createcmd gitcmd importcmd \ | ||||||
|  |          initialcmd maintainercmd movecmd querycmd pullcmd pushcmd removecmd \ | ||||||
|  |          repocmd showcmd teamcmd topiccmd transfercmd versioncmd | ||||||
|  | _regex_words maintainer '' \ | ||||||
|  |                         '-a' \ | ||||||
|  |                         '--adopt' \ | ||||||
|  |                         '-h' \ | ||||||
|  |                         '--help' \ | ||||||
|  |                         '-o' \ | ||||||
|  |                         '--orphan' | ||||||
|  | maintainercmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words query '' \ | ||||||
|  |                    '-h' \ | ||||||
|  |                    '--help' \ | ||||||
|  |                    '-m' \ | ||||||
|  |                    '-t' | ||||||
|  | querycmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words team '' \ | ||||||
|  |                   '-a' \ | ||||||
|  |                   '--add' \ | ||||||
|  |                   '-c' \ | ||||||
|  |                   '--check' \ | ||||||
|  |                   '-h' \ | ||||||
|  |                   '--help' \ | ||||||
|  |                   '-r' \ | ||||||
|  |                   '--remove' | ||||||
|  | teamcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words topic '' \ | ||||||
|  |                    '-a' \ | ||||||
|  |                    '--add' \ | ||||||
|  |                    '-d' \ | ||||||
|  |                    '--delete' \ | ||||||
|  |                    '-h' \ | ||||||
|  |                    '--help' \ | ||||||
|  |                    '-j' \ | ||||||
|  |                    '--jobs' \ | ||||||
|  |                    '-r' \ | ||||||
|  |                    '--remove' | ||||||
|  | topiccmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words transfer '' \ | ||||||
|  |                       '-h' \ | ||||||
|  |                       '--help' | ||||||
|  | transfercmd=("$reply[@]") | ||||||
|  |  | ||||||
|  |  | ||||||
|  | _regex_words admin '' \ | ||||||
|  |                    '-h:Help text' \ | ||||||
|  |                    '--help:Help text' \ | ||||||
|  |                    'maintainer:Manage repo maintainer:$maintainercmd' \ | ||||||
|  |                    'query:Query maintainers and topics:$querycmd' \ | ||||||
|  |                    'team:Manage repo team:$teamcmd' \ | ||||||
|  |                    'topic:Manage topics:$topiccmd' \ | ||||||
|  |                    'transfer:Transfer obsolete repositories to landfill:$transfercmd' | ||||||
|  | admincmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words ci '' \ | ||||||
|  |                 '-a' \ | ||||||
|  |                 '--agent' \ | ||||||
|  |                 '-h' \ | ||||||
|  |                 '--help' | ||||||
|  | cicmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words clone '' \ | ||||||
|  |                    '-a' \ | ||||||
|  |                    '--agent' \ | ||||||
|  |                    '--all' \ | ||||||
|  |                    '-h' \ | ||||||
|  |                    '--help' \ | ||||||
|  |                    '-j' \ | ||||||
|  |                    '--jobs' \ | ||||||
|  |                    '-m' \ | ||||||
|  |                    '--maintainer' \ | ||||||
|  |                    '--protocol' \ | ||||||
|  |                    '-s' \ | ||||||
|  |                    '--search' \ | ||||||
|  |                    '-t' \ | ||||||
|  |                    '--team' | ||||||
|  | clonecmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words config '' \ | ||||||
|  |                     '-h' \ | ||||||
|  |                     '--help' \ | ||||||
|  |                     '-j' \ | ||||||
|  |                     '--jobs' \ | ||||||
|  |                     '--protocol' | ||||||
|  | configcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words create '' \ | ||||||
|  |                     '-a' \ | ||||||
|  |                     '--agent' \ | ||||||
|  |                     '-c' \ | ||||||
|  |                     '--create' \ | ||||||
|  |                     '-h' \ | ||||||
|  |                     '--help' \ | ||||||
|  |                     '-t' \ | ||||||
|  |                     '--team' | ||||||
|  | createcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words pull '' \ | ||||||
|  |                   '--all' \ | ||||||
|  |                   '-h' \ | ||||||
|  |                   '--help' \ | ||||||
|  |                   '-j' \ | ||||||
|  |                   '--jobs' \ | ||||||
|  |                   '-m' \ | ||||||
|  |                   '--maintainer' \ | ||||||
|  |                   '-t' \ | ||||||
|  |                   '--topic' | ||||||
|  | pullcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words push '' \ | ||||||
|  |                   '-h' \ | ||||||
|  |                   '--help' \ | ||||||
|  |                   '-j' \ | ||||||
|  |                   '--jobs' \ | ||||||
|  |                   '-m' \ | ||||||
|  |                   '--maintainer' \ | ||||||
|  |                   '-t' \ | ||||||
|  |                   '--topic' | ||||||
|  | pushcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words git '' \ | ||||||
|  |                  'ci:Configure CI agent:$cicmd' \ | ||||||
|  |                  'clone:Clone a package:$clonecmd' \ | ||||||
|  |                  'config:Configure a clone:$configcmd' \ | ||||||
|  |                  'create:Create a new gitea package repository:$createcmd' \ | ||||||
|  |                  '-h:Help text' \ | ||||||
|  |                  '--help:Help text' \ | ||||||
|  |                  'pull:Pull a package repository:$pullcmd' \ | ||||||
|  |                  'push:Push a package repository:$pushcmd' | ||||||
|  | gitcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words add '' \ | ||||||
|  |                  '-h' \ | ||||||
|  |                  '--help' \ | ||||||
|  |                  '-n' \ | ||||||
|  |                  '--nocheck' \ | ||||||
|  |                  '-p' \ | ||||||
|  |                  '--push' \ | ||||||
|  |                  '-r' \ | ||||||
|  |                  '--rebuild' | ||||||
|  | addcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words import '' \ | ||||||
|  |                     '--del' \ | ||||||
|  |                     '-h' \ | ||||||
|  |                     '--help' \ | ||||||
|  |                     '--tag' | ||||||
|  | importcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words move '' \ | ||||||
|  |                   '-h' \ | ||||||
|  |                   '--help' \ | ||||||
|  |                   '-p' \ | ||||||
|  |                   '--push' | ||||||
|  | movecmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words remove '' \ | ||||||
|  |                     '-h' \ | ||||||
|  |                     '--help' \ | ||||||
|  |                     '-p' \ | ||||||
|  |                     '--push' | ||||||
|  | removecmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words show '' \ | ||||||
|  |                   '-b' \ | ||||||
|  |                   '--base' \ | ||||||
|  |                   '-h' \ | ||||||
|  |                   '--help' \ | ||||||
|  |                   '-p' \ | ||||||
|  |                   '--pkgs' | ||||||
|  | showcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words repo '' \ | ||||||
|  |                   'add:Add pkgbase to repo:$addcmd' \ | ||||||
|  |                   '-h:Help text' \ | ||||||
|  |                   '--help:Help text' \ | ||||||
|  |                   'import:Import latest tag from arch upstream:$importcmd' \ | ||||||
|  |                   'move:Move pkgbase between repos:$movecmd' \ | ||||||
|  |                   'remove:Remove pkgbase from repo:$removecmd' \ | ||||||
|  |                   'show:Show pkgbase repo db:$showcmd' | ||||||
|  | repocmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words version '' \ | ||||||
|  |                      '-h' \ | ||||||
|  |                      '--help' | ||||||
|  | versioncmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_words initial '' \ | ||||||
|  |                      'admin:Manage topics:$admincmd' \ | ||||||
|  |                      'git:Manage git:$gitcmd' \ | ||||||
|  |                      '-h:Help text' \ | ||||||
|  |                      '--help:Help text' \ | ||||||
|  |                      'repo:Pacman database modification:$repocmd' \ | ||||||
|  |                      'version:Show artixpkg version:$versioncmd' | ||||||
|  | initialcmd=("$reply[@]") | ||||||
|  |  | ||||||
|  | _regex_arguments _artixpkg /$'[^\0]##\0'/ "${initialcmd[@]}" | ||||||
|  | _artixpkg "$@" | ||||||
							
								
								
									
										17
									
								
								contrib/iso/profile.conf.example
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								contrib/iso/profile.conf.example
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | |||||||
|  | ################ install ################ | ||||||
|  |  | ||||||
|  | # start services | ||||||
|  | # bluetoothd, cupsd, DM are added to the pkglist dynamicly | ||||||
|  | # metalog or syslog-ng is added to the pkglist dynamicly | ||||||
|  | # connmand or NetworkManager is added to the pkglist dynamicly | ||||||
|  | # only added if in array, these pkgs have no list entry | ||||||
|  |  | ||||||
|  | SERVICES=('acpid' 'bluetoothd' 'cronie' 'cupsd' 'metalog' 'connmand') | ||||||
|  |  | ||||||
|  | ################# live-session ################# | ||||||
|  |  | ||||||
|  | # default value | ||||||
|  | # PASSWORD="artix" | ||||||
|  |  | ||||||
|  | # Set to false to disable autologin in the live session | ||||||
|  | AUTOLOGIN="false" | ||||||
							
								
								
									
										48
									
								
								contrib/makepkg/PKGBUILD.proto
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								contrib/makepkg/PKGBUILD.proto
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | |||||||
|  | #!/hint/bash | ||||||
|  | # shellcheck disable=2034 | ||||||
|  |  | ||||||
|  | # This is an example PKGBUILD file, so that shellcheck can know what | ||||||
|  | # variables to expect be set after including a PKGBUILD. | ||||||
|  |  | ||||||
|  | # Maintainer: Your Name <youremail@domain.com> | ||||||
|  | pkgname=NAME | ||||||
|  | pkgver=VERSION | ||||||
|  | pkgrel=1 | ||||||
|  | epoch= | ||||||
|  | pkgdesc="" | ||||||
|  | arch=() | ||||||
|  | url="" | ||||||
|  | license=('GPL') | ||||||
|  | groups=() | ||||||
|  | depends=() | ||||||
|  | makedepends=() | ||||||
|  | checkdepends=() | ||||||
|  | optdepends=() | ||||||
|  | provides=() | ||||||
|  | conflicts=() | ||||||
|  | replaces=() | ||||||
|  | backup=() | ||||||
|  | options=() | ||||||
|  | install= | ||||||
|  | changelog= | ||||||
|  | source=("$pkgname-$pkgver.tar.gz" | ||||||
|  |         "$pkgname-$pkgver.patch") | ||||||
|  | noextract=() | ||||||
|  | md5sums=() | ||||||
|  | validpgpkeys=() | ||||||
|  |  | ||||||
|  | prepare() { | ||||||
|  | 	: | ||||||
|  | } | ||||||
|  |  | ||||||
|  | build() { | ||||||
|  | 	: | ||||||
|  | } | ||||||
|  |  | ||||||
|  | check() { | ||||||
|  | 	: | ||||||
|  | } | ||||||
|  |  | ||||||
|  | package() { | ||||||
|  | 	: | ||||||
|  | } | ||||||
| @@ -1,70 +0,0 @@ | |||||||
| ###################################################### |  | ||||||
| ################ artools.conf ################## |  | ||||||
| ###################################################### |  | ||||||
|  |  | ||||||
| # default taget arch: auto detect |  | ||||||
| # target_arch=$(uname -m) |  | ||||||
|  |  | ||||||
| # build dir where buildpkg or buildiso chroots are created |  | ||||||
| # chroots_dir=/var/lib/artools |  | ||||||
|  |  | ||||||
| # custom build mirror server |  | ||||||
| # build_mirror=https://netcologne.dl.sourceforge.net/project/artix-linux/repos |  | ||||||
|  |  | ||||||
| # the server user |  | ||||||
| # account=[SetUser] |  | ||||||
|  |  | ||||||
| # the server project |  | ||||||
| # project="artix-linux" |  | ||||||
|  |  | ||||||
| # host mirrors |  | ||||||
| # host_mirrors=('netcologne' 'freefr' 'netix' 'kent' '10gbps-io') |  | ||||||
|  |  | ||||||
| # the workspace directory |  | ||||||
| # workspace_dir="/home/${OWNER}/artools-workspace" |  | ||||||
|  |  | ||||||
| ################ buildtree ############### |  | ||||||
|  |  | ||||||
| # artix package tree |  | ||||||
| # repo_tree_artix=('system' 'world' 'galaxy') |  | ||||||
|  |  | ||||||
| # host_tree_artix=https://github.com/artix-linux |  | ||||||
|  |  | ||||||
| # archlinux package tree |  | ||||||
| # repo_tree_arch=('packages' 'community') |  | ||||||
|  |  | ||||||
| # host_tree_arch=git://projects.archlinux.org/svntogit |  | ||||||
|  |  | ||||||
| ################ buildpkg ################ |  | ||||||
|  |  | ||||||
| # default pkg build list; name without .list extension |  | ||||||
| # build_list=default |  | ||||||
|  |  | ||||||
| ################ buildiso ################ |  | ||||||
|  |  | ||||||
| # the dist release; default: auto |  | ||||||
| # dist_release=rolling |  | ||||||
|  |  | ||||||
| # the branding; default: auto |  | ||||||
| # dist_branding="ARTIX" |  | ||||||
|  |  | ||||||
| # possible values: openrc, (s6, runit) not yet supported |  | ||||||
| # initsys="openrc" |  | ||||||
|  |  | ||||||
| # unset defaults to given value |  | ||||||
| # kernel="linux-lts" |  | ||||||
|  |  | ||||||
| # gpg key; leave empty or commented to skip sfs signing |  | ||||||
| # gpgkey="" |  | ||||||
|  |  | ||||||
| ################ deployiso ################ |  | ||||||
|  |  | ||||||
| # set upload bandwidth limit in kB/s |  | ||||||
| # limit=100 |  | ||||||
|  |  | ||||||
| # the torrent tracker urls, comma separated |  | ||||||
| # tracker_url='udp://mirror.strits.dk:6969' |  | ||||||
|  |  | ||||||
| # Piece size, 2^n |  | ||||||
| # piece_size=21 |  | ||||||
|  |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| autoconf |  | ||||||
| automake |  | ||||||
| binutils |  | ||||||
| bison |  | ||||||
| libeudev |  | ||||||
| fakeroot |  | ||||||
| file |  | ||||||
| findutils |  | ||||||
| flex |  | ||||||
| gawk |  | ||||||
| gcc |  | ||||||
| gettext |  | ||||||
| grep |  | ||||||
| groff |  | ||||||
| gzip |  | ||||||
| libtool |  | ||||||
| m4 |  | ||||||
| make |  | ||||||
| pacman |  | ||||||
| patch |  | ||||||
| pkg-config |  | ||||||
| sed |  | ||||||
| sudo |  | ||||||
| texinfo |  | ||||||
| libutil-linux-nosystemd |  | ||||||
| util-linux-nosystemd |  | ||||||
| which |  | ||||||
| >multilib gcc-multilib |  | ||||||
| >multilib lib32-fakeroot |  | ||||||
| >multilib lib32-libltdl |  | ||||||
| @@ -1,146 +0,0 @@ | |||||||
| acl |  | ||||||
| archlinux-keyring |  | ||||||
| attr |  | ||||||
| autoconf |  | ||||||
| automake |  | ||||||
| b43-fwcutter |  | ||||||
| binutils |  | ||||||
| bison |  | ||||||
| bridge-utils |  | ||||||
| bzip2 |  | ||||||
| ca-certificates |  | ||||||
| ca-certificates-cacert |  | ||||||
| coreutils |  | ||||||
| cracklib |  | ||||||
| curl |  | ||||||
| dash |  | ||||||
| db |  | ||||||
| dialog |  | ||||||
| diffutils |  | ||||||
| ding-libs |  | ||||||
| dnssec-anchors |  | ||||||
| dosfstools |  | ||||||
| e2fsprogs |  | ||||||
| ed |  | ||||||
| efibootmgr |  | ||||||
| efivar |  | ||||||
| elfutils |  | ||||||
| expat |  | ||||||
| fakeroot |  | ||||||
| file |  | ||||||
| findutils |  | ||||||
| flex |  | ||||||
| gawk |  | ||||||
| gcc |  | ||||||
| gdbm |  | ||||||
| gettext |  | ||||||
| glib2 |  | ||||||
| gmp |  | ||||||
| gnutls |  | ||||||
| gpgme |  | ||||||
| grep |  | ||||||
| groff |  | ||||||
| gzip |  | ||||||
| hdparm |  | ||||||
| hwids |  | ||||||
| iana-etc |  | ||||||
| icu |  | ||||||
| ifenslave |  | ||||||
| iproute2 |  | ||||||
| iputils |  | ||||||
| ipw2100-fw |  | ||||||
| ipw2200-fw |  | ||||||
| isdn4k-utils |  | ||||||
| iw |  | ||||||
| jfsutils |  | ||||||
| kbd |  | ||||||
| keyutils |  | ||||||
| ldns |  | ||||||
| less |  | ||||||
| libaio |  | ||||||
| libarchive |  | ||||||
| libassuan |  | ||||||
| libcap |  | ||||||
| libedit |  | ||||||
| libevent |  | ||||||
| libffi |  | ||||||
| libgcrypt |  | ||||||
| libgpg-error |  | ||||||
| libgssglue |  | ||||||
| libidn |  | ||||||
| libksba |  | ||||||
| libmnl |  | ||||||
| libmpc |  | ||||||
| libnftnl |  | ||||||
| libnghttp2 |  | ||||||
| libnl |  | ||||||
| libpcap |  | ||||||
| libpipeline |  | ||||||
| libpsl |  | ||||||
| librpcsecgss |  | ||||||
| libseccomp |  | ||||||
| libsecret |  | ||||||
| libssh2 |  | ||||||
| libtasn1 |  | ||||||
| libtirpc |  | ||||||
| libtool |  | ||||||
| libunistring |  | ||||||
| licenses |  | ||||||
| links |  | ||||||
| linux-api-headers |  | ||||||
| linux-atm |  | ||||||
| linux-firmware |  | ||||||
| linux-lts |  | ||||||
| lz4 |  | ||||||
| lzo |  | ||||||
| m4 |  | ||||||
| make |  | ||||||
| man-pages |  | ||||||
| mkinitcpio-busybox |  | ||||||
| mkinitcpio-nfs-utils |  | ||||||
| mpfr |  | ||||||
| nano |  | ||||||
| nettle |  | ||||||
| net-tools |  | ||||||
| nfsidmap |  | ||||||
| nilfs-utils |  | ||||||
| npth |  | ||||||
| nspr |  | ||||||
| nss |  | ||||||
| openssl |  | ||||||
| openssl-1.0 |  | ||||||
| p11-kit |  | ||||||
| patch |  | ||||||
| pciutils |  | ||||||
| pcre |  | ||||||
| perl |  | ||||||
| pinentry |  | ||||||
| pkcs11-helper |  | ||||||
| pkg-config |  | ||||||
| popt |  | ||||||
| pptpclient |  | ||||||
| procinfo-ng |  | ||||||
| psmisc |  | ||||||
| pth |  | ||||||
| reiserfsprogs |  | ||||||
| run-parts |  | ||||||
| sdparm |  | ||||||
| sed |  | ||||||
| s-nail |  | ||||||
| sqlite |  | ||||||
| sysfsutils |  | ||||||
| syslinux |  | ||||||
| tar |  | ||||||
| texinfo |  | ||||||
| thin-provisioning-tools |  | ||||||
| traceroute |  | ||||||
| tzdata |  | ||||||
| usbutils |  | ||||||
| vi |  | ||||||
| which |  | ||||||
| wireless-regdb |  | ||||||
| wireless_tools |  | ||||||
| wpa_actiond |  | ||||||
| xfsprogs |  | ||||||
| xz |  | ||||||
| zd1211-firmware |  | ||||||
| @@ -1,14 +0,0 @@ | |||||||
| # mkinitcpio preset file for the 'linux' package |  | ||||||
|  |  | ||||||
| ALL_config="/etc/mkinitcpio.conf" |  | ||||||
| ALL_kver="/boot/vmlinuz-@kernel@-@arch@" |  | ||||||
|  |  | ||||||
| PRESETS=('default' 'fallback') |  | ||||||
|  |  | ||||||
| #default_config="/etc/mkinitcpio.conf" |  | ||||||
| default_image="/boot/initramfs-@kernel@-@arch@.img" |  | ||||||
| #default_options="" |  | ||||||
|  |  | ||||||
| #fallback_config="/etc/mkinitcpio.conf" |  | ||||||
| fallback_image="/boot/initramfs-@kernel@-@arch@-fallback.img" |  | ||||||
| fallback_options="-S autodetect" |  | ||||||
| @@ -1,3 +0,0 @@ | |||||||
| carch="i686" |  | ||||||
| chost="i686-pc-linux-gnu" |  | ||||||
| cflags="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong" |  | ||||||
| @@ -1,3 +0,0 @@ | |||||||
| carch="x86_64" |  | ||||||
| chost="x86_64-pc-linux-gnu" |  | ||||||
| cflags="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong" |  | ||||||
| @@ -1,3 +0,0 @@ | |||||||
| carch="x86_64" |  | ||||||
| chost="x86_64-pc-linux-gnu" |  | ||||||
| cflags="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong" |  | ||||||
| @@ -1,3 +0,0 @@ | |||||||
| MODULES="loop dm-snapshot" |  | ||||||
| HOOKS="base udev artix_shutdown artix artix_loop_mnt artix_pxe_common artix_pxe_http artix_pxe_nbd artix_pxe_nfs artix_kms modconf block pcmcia filesystems keyboard keymap" |  | ||||||
| COMPRESSION="xz" |  | ||||||
| @@ -1 +0,0 @@ | |||||||
| openrc |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| ########################################## |  | ||||||
| ###### use this file in the profile ###### |  | ||||||
| ########################################## |  | ||||||
|  |  | ||||||
| ################ install ################ |  | ||||||
|  |  | ||||||
| # default displaymanager: none |  | ||||||
| # supported; lightdm, sddm, gdm, lxdm, mdm |  | ||||||
| # displaymanager="none" |  | ||||||
|  |  | ||||||
| # Set to false to disable autologin in the livecd |  | ||||||
| # autologin="true" |  | ||||||
|  |  | ||||||
| # service runlevels |  | ||||||
| # openrc_boot=('elogind') |  | ||||||
| # openrc_default=('acpid' 'bluetooth' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager') |  | ||||||
|  |  | ||||||
| # unset defaults to given values |  | ||||||
| # addgroups="video,power,storage,optical,network,lp,scanner,wheel,users" |  | ||||||
|  |  | ||||||
| ################# live-session ################# |  | ||||||
|  |  | ||||||
| # unset defaults to given value |  | ||||||
| # hostname="artix" |  | ||||||
|  |  | ||||||
| # unset defaults to given value |  | ||||||
| # username="artix" |  | ||||||
|  |  | ||||||
| # unset defaults to given value |  | ||||||
| # password="artix" |  | ||||||
| @@ -1,298 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with systemd; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="profile.conf" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|  |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>profile.conf-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|  |  | ||||||
|         <authorgroup> |  | ||||||
|         <author> |  | ||||||
|             <contrib></contrib> |  | ||||||
|             <firstname></firstname> |  | ||||||
|             <surname></surname> |  | ||||||
|             <email></email> |  | ||||||
|         </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>artools.conf</refentrytitle> |  | ||||||
|         <manvolnum>5</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>artools.conf</refname> |  | ||||||
|         <refpurpose>general configuration file for artools</refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <para><filename>artools.conf</filename></para> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para>artools.conf is a general configuration file for all artools binaries. </para> |  | ||||||
|  |  | ||||||
|         <para>By default all the options in the file are commented, with a value equal to the |  | ||||||
|         default value. To change it just uncomment and put the desired value.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>General options for all tools</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood and used for various tools:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>target_arch=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Takes <option>i686</option> or <option>x86_64</option>. |  | ||||||
|                 By default it will try to autodetect the current architecture. |  | ||||||
|                 It defines in witch architecture the packages will be built with |  | ||||||
|                 buildpkg. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>workspace_dir=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Workspace dir where packages, iso, repos or build tree. Default is "/home/$OWNER/artools-workspace". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>chroots_dir=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Build dir where buildpkg or buildiso chroot |  | ||||||
|                 environment will be created. Default is "/var/lib/artools". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>build_mirror=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default mirror to be used when building |  | ||||||
|                 packages or iso. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>account=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default user to be used for upload. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>project=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default SF project name to be used for upload. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>host_mirrors=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Array of host mirrors. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|         </variablelist> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options for buildtree</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>repo_tree_artix=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Artix package tree. Default is |  | ||||||
|                 "('system' 'world' 'galaxy')". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>host_tree_artix=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Host tree. Default is "https://github.com/artix-linux". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>repo_tree_arch=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Archlinux package tree. Default is |  | ||||||
|                 "('packages' 'community')". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>host_tree_arch=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Host tree for archlinux. Default is |  | ||||||
|                 "https://projects.archlinux.org/git/svntogit". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options for buildpkg</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>build_list=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default list for buildpkg without the .list |  | ||||||
|                 extension. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|         </variablelist> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options for buildiso</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|  |  | ||||||
|         <varlistentry> |  | ||||||
|             <term><varname>dist_release=</varname></term> |  | ||||||
|  |  | ||||||
|             <listitem><para>Release version of the distribution. |  | ||||||
|             </para></listitem> |  | ||||||
|         </varlistentry> |  | ||||||
|  |  | ||||||
|         <varlistentry> |  | ||||||
|             <!-- TODO: We should tell where exactly this is used --> |  | ||||||
|             <term><varname>dist_branding=</varname></term> |  | ||||||
|  |  | ||||||
|             <listitem><para>Branding of the distribution. |  | ||||||
|             </para></listitem> |  | ||||||
|         </varlistentry> |  | ||||||
|  |  | ||||||
|         <varlistentry> |  | ||||||
|             <term><varname>gpgkey=</varname></term> |  | ||||||
|  |  | ||||||
|             <listitem><para>If the gpgkey is supplied, the sfs images on iso will be signed. |  | ||||||
|                     If the key is left empty or commented, signing will be skipped. |  | ||||||
|                     </para></listitem> |  | ||||||
|         </varlistentry> |  | ||||||
|  |  | ||||||
|         <varlistentry> |  | ||||||
|             <term><varname>initsys=</varname></term> |  | ||||||
|  |  | ||||||
|             <listitem><para>Takes <option>openrc</option> (the default) |  | ||||||
|             or <option>notyetimplemented</option>. Selecting and option will change |  | ||||||
|             how the hostname, the displaymanager and services will be configured. |  | ||||||
|             </para></listitem> |  | ||||||
|         </varlistentry> |  | ||||||
|  |  | ||||||
|         <varlistentry> |  | ||||||
|             <term><varname>kernel=</varname></term> |  | ||||||
|  |  | ||||||
|             <listitem><para>Takes a string corresponding to an |  | ||||||
|             artix kernel package. |  | ||||||
|             </para></listitem> |  | ||||||
|         </varlistentry> |  | ||||||
|  |  | ||||||
|         </variablelist> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|         <refsect1> |  | ||||||
|         <title>Options for deployiso</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|  |  | ||||||
|              <varlistentry> |  | ||||||
|                 <term><varname>tracker_url=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default tracker announce for the torrent. |  | ||||||
|                     The tracker url can also contain comma separated urls. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>piece_size=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default priece size for the torrent in 2^n. |  | ||||||
|                         </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>uplimit=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default upload bandwidth limit in kb/s. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|         </variablelist> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options for deploypkg</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>repos_local=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>The local repository root. Default is "${workspace_dir}/repos". |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|         </variablelist> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>buildiso</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>deployiso</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>buildtree</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>deploypkg</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>buildpkg</refentrytitle><manvolnum>1</manvolnum></citerefentry> |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
| </refentry> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,181 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="buildiso" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|  |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>buildiso-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|  |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>buildiso</refentrytitle> |  | ||||||
|         <manvolnum>1</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>buildiso</refname> |  | ||||||
|         <refpurpose>buildiso is used to build a particular ISO or a set of ISOs. </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <cmdsynopsis> |  | ||||||
|             <command>buildiso</command> |  | ||||||
|             <arg choice="opt" rep="repeat">OPTIONS</arg> |  | ||||||
|         </cmdsynopsis> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para><command>buildiso</command> is used to build a particular ISO or a set of ISOs. </para> |  | ||||||
|  |  | ||||||
|         <para>With buildiso you can build ISOs suitable to be booted from a removable media |  | ||||||
|         like a DVD o a USB Stick, it will automatically create the necessary files to |  | ||||||
|         install this ISO using calamares.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-p PROFILE...</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Name of the name of the directory |  | ||||||
|                 you will build. It needs to contain a |  | ||||||
|                 folder with a valid profile.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-a i686|x86_64</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Architecture that the iso will be built. Can be i686 or x86_64.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-r DIR</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Root working directory where the iso will be built.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-t DIR</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Iso target directory where the final iso will be stored.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-i openrc|s6|runit</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>The init system on the iso</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-g KEY</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>The GPG key to use to sign the sfs images.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-k linuxXXX</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>The kernel on the iso</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-c</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Disable clean working directory step.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-m</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Enable persistence mode.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-x</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Only build images, without creating an ISO file.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-z</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Generate iso from already created images, for example created with the -x option.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-v</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Verbose output to log file, show profile detail in combination with pretend.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-q</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Query settings and pretend build.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-h</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Help.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <!--<refsect1> |  | ||||||
|         <title>Exit status</title> |  | ||||||
|  |  | ||||||
|         <para>On success, 0 is returned, a non-zero failure code |  | ||||||
|         otherwise.</para> |  | ||||||
|     </refsect1> |  | ||||||
|     --> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
| </refentry> |  | ||||||
|  |  | ||||||
| @@ -1,160 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="buildpkg" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>buildpkg-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>buildpkg</refentrytitle> |  | ||||||
|         <manvolnum>1</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>buildpkg</refname> |  | ||||||
|         <refpurpose>buildpkg is used to build packages in a clean chroot. </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <cmdsynopsis> |  | ||||||
|             <command>buildpkg</command> |  | ||||||
|             <arg choice="opt" rep="repeat">OPTIONS</arg> |  | ||||||
|         </cmdsynopsis> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para><command>buildpkg</command> is used to build a particular package or a set of packages. </para> |  | ||||||
|  |  | ||||||
|         <para>With buildpkg you can build packages in a clean chroot environment.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-p PROFILE...</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Name of the build list or name of the directory |  | ||||||
|                 you will build. It needs to cantain a existing build list or a |  | ||||||
|                 folder with a valid PKGBUILD.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-a i686|x86_64|multilib</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Architecture that the iso will be built. Can be i686, x86_64 or multilib.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-r DIR</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Root working directory where the package will be built.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-i PKG</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Install packages into the working copy of the chroot.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-o</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Create chroot.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-d</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Delete chroot.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-c</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Clean chroot copy.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-u</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Update chroot copy.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-w</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Clean up cache and sources.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-n</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Install built package in chroot and run namcap check.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-s</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Sign package.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-q</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Query settings and pretend build.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-h</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Help.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
| </refentry> |  | ||||||
| @@ -1,111 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="buildtree" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>buildtree-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>buildtree</refentrytitle> |  | ||||||
|         <manvolnum>1</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>buildtree</refname> |  | ||||||
|         <refpurpose>buildtree is used to sync the cromnix and arch package build tree. </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <cmdsynopsis> |  | ||||||
|             <command>buildtree</command> |  | ||||||
|             <arg choice="opt" rep="repeat">OPTIONS</arg> |  | ||||||
|         </cmdsynopsis> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para><command>buildtree</command> is used to sync package trees. </para> |  | ||||||
|  |  | ||||||
|         <para>With buildtree, you can sync the cromnix and arch linux packae build trees.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-s</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Sync Manjaro linux tree.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-a</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Sync Arch linux tree.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-c</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Clean package trees.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-q</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Query settings.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-h</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Help.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
| </refentry> |  | ||||||
|  |  | ||||||
| @@ -1,146 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="buildyaml" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|  |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>buildyaml-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|  |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>buildyaml</refentrytitle> |  | ||||||
|         <manvolnum>1</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>buildyaml</refname> |  | ||||||
|         <refpurpose>buildyaml is used to generate and validate yaml files used by calamares. </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <cmdsynopsis> |  | ||||||
|             <command>buildyaml</command> |  | ||||||
|             <arg choice="opt" rep="repeat">OPTIONS</arg> |  | ||||||
|         </cmdsynopsis> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para><command>buildyaml</command> is used to generate and validate yaml files used by calamares.</para> |  | ||||||
|  |  | ||||||
|         <para>buildyaml is a script to generate and validate yaml files by yaml schemas. Buildiso generates these files also, but buildyaml is a standalone version without the need to build the entire iso.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-p PROFILE...</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Name of the profile directory.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-a i686|x86_64</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Architecture that the yaml will be created for. Can be i686 or x86_64.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-i openrc|s6|runit</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>The init system the yaml will be created for.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-k linuxXXX</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>The kernel the yaml will be created for.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-c</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Create calamares yaml conf files.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-g</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Generate a packman group netgroup yaml file.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-v</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Validate the yaml file by yaml schema.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-q</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Query settings.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-h</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Help.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <!--<refsect1> |  | ||||||
|         <title>Exit status</title> |  | ||||||
|  |  | ||||||
|         <para>On success, 0 is returned, a non-zero failure code |  | ||||||
|         otherwise.</para> |  | ||||||
|     </refsect1> |  | ||||||
|     --> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
| </refentry> |  | ||||||
| @@ -1,135 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="deployiso" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|  |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>deployiso-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|  |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>deployiso</refentrytitle> |  | ||||||
|         <manvolnum>1</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>deployiso</refname> |  | ||||||
|         <refpurpose>deployiso is used to upload a particular ISO or a set of ISOs. </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <cmdsynopsis> |  | ||||||
|             <command>deployiso</command> |  | ||||||
|             <arg choice="opt" rep="repeat">OPTIONS</arg> |  | ||||||
|         </cmdsynopsis> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para><command>deployiso</command> is used to upload a particular ISO or a set of ISOs. </para> |  | ||||||
|  |  | ||||||
|         <para>deployiso is a script to upload a specific iso or a buiildset to SF.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-p PROFILE...</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Name of the iso profile directory |  | ||||||
|                 you will upload.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-l</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Limit bandwidth in kB/s.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-u</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Update remote iso.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-t</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Create a torrent from iso file.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-v</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Verbose output.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-q</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Query settings and pretend upload.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-h</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Help.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <!--<refsect1> |  | ||||||
|         <title>Exit status</title> |  | ||||||
|  |  | ||||||
|         <para>On success, 0 is returned, a non-zero failure code |  | ||||||
|         otherwise.</para> |  | ||||||
|     </refsect1> |  | ||||||
|     --> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>profiles.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
| </refentry> |  | ||||||
| @@ -1,145 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="deploypkg" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|  |  | ||||||
|     <refentryinfo> |  | ||||||
|         <title>deploypkg-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|  |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>deploypkg</refentrytitle> |  | ||||||
|         <manvolnum>1</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>deploypkg</refname> |  | ||||||
|         <refpurpose>deploypkg is used to sync package repositories. </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <cmdsynopsis> |  | ||||||
|             <command>deploypkg</command> |  | ||||||
|             <arg choice="opt" rep="repeat">OPTIONS</arg> |  | ||||||
|         </cmdsynopsis> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para><command>deploypkg</command> is used to sync package repositories. </para> |  | ||||||
|  |  | ||||||
|         <para>deploypkg is a script to sync a specific repoitory with SF.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-r REPOSITORY...</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Name of the repo to sync.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-p PACKAGE...</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Name of the package to add or delete.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-x</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Add a package to the repo db.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-y</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Delete a package from the repo.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-u</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Upload a repo.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-d</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Download a repo.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-v</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Verbose output.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-q</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Query settings and pretend upload.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><option>-h</option></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Help.</para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <!--<refsect1> |  | ||||||
|         <title>Exit status</title> |  | ||||||
|  |  | ||||||
|         <para>On success, 0 is returned, a non-zero failure code |  | ||||||
|         otherwise.</para> |  | ||||||
|     </refsect1> |  | ||||||
|     --> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
| </refentry> |  | ||||||
| @@ -1,156 +0,0 @@ | |||||||
| <?xml version='1.0'?> <!--*-nxml-*--> |  | ||||||
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |  | ||||||
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |  | ||||||
|  |  | ||||||
| <!-- |  | ||||||
| This file is part of artools. |  | ||||||
|  |  | ||||||
| Copyright 2015 Manjaro Developers |  | ||||||
| Copyright 2017 Artoo |  | ||||||
|  |  | ||||||
| artools is free software; you can redistribute it and/or modify it |  | ||||||
| under the terms of the GNU Lesser General Public License as published by |  | ||||||
| the Free Software Foundation; either version 2.1 of the License, or |  | ||||||
| (at your option) any later version. |  | ||||||
|  |  | ||||||
| artools is distributed in the hope that it will be useful, but |  | ||||||
| WITHOUT ANY WARRANTY; without even the implied warranty of |  | ||||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |  | ||||||
| Lesser General Public License for more details. |  | ||||||
|  |  | ||||||
| You should have received a copy of the GNU Lesser General Public License |  | ||||||
| along with artools; If not, see <http://www.gnu.org/licenses/>. |  | ||||||
| --> |  | ||||||
|  |  | ||||||
| <refentry id="profile.conf" xmlns:xi="http://www.w3.org/2001/XInclude"> |  | ||||||
|  |  | ||||||
| <refentryinfo> |  | ||||||
|         <title>profile.conf-+</title> |  | ||||||
|         <productname>artools</productname> |  | ||||||
|  |  | ||||||
|         <authorgroup> |  | ||||||
|             <author> |  | ||||||
|                 <contrib></contrib> |  | ||||||
|                 <firstname></firstname> |  | ||||||
|                 <surname></surname> |  | ||||||
|                 <email></email> |  | ||||||
|             </author> |  | ||||||
|         </authorgroup> |  | ||||||
|     </refentryinfo> |  | ||||||
|  |  | ||||||
|     <refmeta> |  | ||||||
|         <refentrytitle>profile.conf</refentrytitle> |  | ||||||
|         <manvolnum>5</manvolnum> |  | ||||||
|     </refmeta> |  | ||||||
|  |  | ||||||
|     <refnamediv> |  | ||||||
|         <refname>profile.conf</refname> |  | ||||||
|         <refpurpose>configuration file for the individual profiles </refpurpose> |  | ||||||
|     </refnamediv> |  | ||||||
|  |  | ||||||
|     <refsynopsisdiv> |  | ||||||
|         <para><filename>profile.conf</filename></para> |  | ||||||
|     </refsynopsisdiv> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Description</title> |  | ||||||
|  |  | ||||||
|         <para>profile.conf is a configuration file used to modify how the ISO will be built. </para> |  | ||||||
|  |  | ||||||
|         <para>By default all the options in the file are commented, with a value equal to the |  | ||||||
|         default value. To change it just uncomment and put the desired value.</para> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>Options</title> |  | ||||||
|  |  | ||||||
|         <para>The following options are understood:</para> |  | ||||||
|  |  | ||||||
|         <variablelist> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>displaymanager=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Takes a value of |  | ||||||
|                 <option>lightdm</option>, |  | ||||||
|                 <option>sddm</option>, |  | ||||||
|                 <option>gdm</option>, |  | ||||||
|                 <option>mdm</option>, |  | ||||||
|                 <option>lxdm</option>. Defaults to "none" value, |  | ||||||
|                 which won't configure any display manager. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>autologin=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Accepts |  | ||||||
|                     <option>true</option> (the default) |  | ||||||
|                     <option>false</option>.</para> |  | ||||||
|                 </listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>openrc_boot=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Array of services that will be |  | ||||||
|                 enabled in openrc boot runlevel. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>openrc_default=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Array of services that will be |  | ||||||
|                 enabled in openrc default runlevel. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>hostname=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Hostname for the ISO. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>username=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Username of the default user |  | ||||||
|                 that will be created in the live-cd. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>password=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Password of the default user |  | ||||||
|                 that will be created in the live-cd. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|             <varlistentry> |  | ||||||
|                 <term><varname>addgroups=</varname></term> |  | ||||||
|  |  | ||||||
|                 <listitem><para>Default groups of the default user |  | ||||||
|                 in the live-cd and the user created while installing |  | ||||||
|                 the iso using calamares. |  | ||||||
|                 </para></listitem> |  | ||||||
|             </varlistentry> |  | ||||||
|  |  | ||||||
|         </variablelist> |  | ||||||
|  |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
|     <refsect1> |  | ||||||
|         <title>See Also</title> |  | ||||||
|         <para> |  | ||||||
|             <citerefentry project='artools'><refentrytitle>artools.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>, |  | ||||||
|             <citerefentry project='artools'><refentrytitle>buildiso</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |  | ||||||
|         </para> |  | ||||||
|     </refsect1> |  | ||||||
|  |  | ||||||
| </refentry> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -1,246 +0,0 @@ | |||||||
| # args: source, newroot, mountpoint |  | ||||||
| _mnt_dmsnapshot() { |  | ||||||
|     local img="${1}" |  | ||||||
|     local mnt="${2}" |  | ||||||
|     local img_fullname="${img##*/}"; |  | ||||||
|     local img_name="${img_fullname%%.*}" |  | ||||||
|     local dm_snap_name="${dm_snap_prefix}_${img_name}" |  | ||||||
|     local ro_dev ro_dev_size rw_dev |  | ||||||
|  |  | ||||||
|     ro_dev=$(losetup --find --show --read-only "${img}") |  | ||||||
|     echo ${ro_dev} >> /run/artix/used_block_devices |  | ||||||
|     ro_dev_size=$(blockdev --getsz ${ro_dev}) |  | ||||||
|  |  | ||||||
|     if [[ "${cow_persistent}" == "P" ]]; then |  | ||||||
|         if [[ -f "/run/artix/cowspace/${cow_directory}/${img_name}.cow" ]]; then |  | ||||||
|             msg ":: Found '/run/artix/cowspace/${cow_directory}/${img_name}.cow', using as persistent." |  | ||||||
|         else |  | ||||||
|             msg ":: Creating '/run/artix/cowspace/${cow_directory}/${img_name}.cow' as persistent." |  | ||||||
|             truncate -s "${cow_spacesize}" "/run/artix/cowspace/${cow_directory}/${img_name}.cow" |  | ||||||
|         fi |  | ||||||
|     else |  | ||||||
|         if [[ -f "/run/artix/cowspace/${cow_directory}/${img_name}.cow" ]]; then |  | ||||||
|             msg ":: Found '/run/artix/cowspace/${cow_directory}/${img_name}.cow' but non-persistent requested, removing." |  | ||||||
|             rm -f "/run/artix/cowspace/${cow_directory}/${img_name}.cow" |  | ||||||
|         fi |  | ||||||
|         msg ":: Creating '/run/artix/cowspace/${cow_directory}/${img_name}.cow' as non-persistent." |  | ||||||
|         truncate -s "${cow_spacesize}" "/run/artix/cowspace/${cow_directory}/${img_name}.cow" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     rw_dev=$(losetup --find --show "/run/artix/cowspace/${cow_directory}/${img_name}.cow") |  | ||||||
|     echo ${rw_dev} >> /run/artix/used_block_devices |  | ||||||
|  |  | ||||||
|     dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}" |  | ||||||
|  |  | ||||||
|     _mnt_dev "/dev/mapper/${dm_snap_name}" "${mnt}" "-w" "defaults" |  | ||||||
|     echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/artix/used_block_devices |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # args: source, newroot, mountpoint |  | ||||||
| _mnt_overlayfs() { |  | ||||||
|     local src="${1}" |  | ||||||
|     local newroot="${2}" |  | ||||||
|     local mnt="${3}" |  | ||||||
|     local work_dir="/run/artix/overlay_root/work" |  | ||||||
|     local upper_dir="/run/artix/overlay_root/upper" |  | ||||||
|  |  | ||||||
|     mkdir -p "${upper_dir}" "${work_dir}" |  | ||||||
|  |  | ||||||
|     mount -t overlay overlay -o lowerdir="${src}",upperdir="${upper_dir}",workdir="${work_dir}" "${newroot}${mnt}" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # args: /path/to/image_file, mountpoint |  | ||||||
| _mnt_sfs() { |  | ||||||
|     local img="${1}" |  | ||||||
|     local mnt="${2}" |  | ||||||
|     local img_fullname="${img##*/}" |  | ||||||
|     local sfs_dev |  | ||||||
|     local oper=$( [[ -n "${ip}" && -n "${miso_http_srv}" ]] && echo "mv" || echo "cp" ) |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         msg -n ":: Copying squashfs image to RAM..." |  | ||||||
|         if ! "${oper}" "${img}" "/run/artix/copytoram/${img_fullname}" ; then |  | ||||||
|             echo "ERROR: while copy '${img}' to '/run/artix/copytoram/${img_fullname}'" |  | ||||||
|             launch_interactive_shell |  | ||||||
|         fi |  | ||||||
|         img="/run/artix/copytoram/${img_fullname}" |  | ||||||
|         msg "done." |  | ||||||
|     fi |  | ||||||
|     sfs_dev=$(losetup --find --show --read-only "${img}") |  | ||||||
|     echo ${sfs_dev} >> /run/artix/used_block_devices |  | ||||||
|     _mnt_dev "${sfs_dev}" "${mnt}" "-r" "defaults" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # args: device, mountpoint, flags, opts |  | ||||||
| _mnt_dev() { |  | ||||||
|     local dev="${1}" |  | ||||||
|     local mnt="${2}" |  | ||||||
|     local flg="${3}" |  | ||||||
|     local opts="${4}" |  | ||||||
|  |  | ||||||
|     mkdir -p "${mnt}" |  | ||||||
|  |  | ||||||
|     msg ":: Mounting '${dev}' to '${mnt}'" |  | ||||||
|  |  | ||||||
|     while ! poll_device "${dev}" 30; do |  | ||||||
|         echo "ERROR: '${dev}' device did not show up after 30 seconds..." |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     if mount -o "${opts}" "${flg}" "${dev}" "${mnt}"; then |  | ||||||
|         msg ":: Device '${dev}' mounted successfully." |  | ||||||
|     else |  | ||||||
|         echo "ERROR; Failed to mount '${dev}'" |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| _verify_checksum() { |  | ||||||
|     local _status |  | ||||||
|     cd "/run/artix/bootmnt/${artixbasedir}/${arch}" |  | ||||||
|     md5sum -c $1.md5 > /tmp/checksum.log 2>&1 |  | ||||||
|     _status=$? |  | ||||||
|     cd "${OLDPWD}" |  | ||||||
|     return ${_status} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| _verify_signature() { |  | ||||||
|     local _status |  | ||||||
|     cd "/run/artix/bootmnt/${artixbasedir}/${arch}" |  | ||||||
|     gpg --homedir /gpg --status-fd 1 --verify $1.sfs.sig 2>/dev/null | grep -qE '^\[GNUPG:\] GOODSIG' |  | ||||||
|     _status=$? |  | ||||||
|     cd "${OLDPWD}" |  | ||||||
|     return ${_status} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     [[ -z "${arch}" ]] && arch="$(uname -m)" |  | ||||||
|     [[ -z "${copytoram_size}" ]] && copytoram_size="75%" |  | ||||||
|     [[ -z "${artixbasedir}" ]] && artixbasedir="cromnix" |  | ||||||
|  |  | ||||||
|     [[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch" |  | ||||||
|     [[ -z "${artixdevice}" ]] && artixdevice="/dev/disk/by-label/${artixlabel}" |  | ||||||
|     [[ -z "${cow_spacesize}" ]] && cow_spacesize="256M" |  | ||||||
|     [[ -z "${overlay_root_size}" ]] && overlay_root_size="75%" |  | ||||||
|  |  | ||||||
|     if [[ -n "${cow_label}" ]]; then |  | ||||||
|         cow_device="/dev/disk/by-label/${cow_label}" |  | ||||||
|         [[ -z "${cow_persistent}" ]] && cow_persistent="P" |  | ||||||
|     elif [[ -n "${cow_device}" ]]; then |  | ||||||
|         [[ -z "${cow_persistent}" ]] && cow_persistent="P" |  | ||||||
|     else |  | ||||||
|         cow_persistent="N" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     [[ -z "${cow_flags}" ]] && cow_flags="defaults" |  | ||||||
|     [[ -z "${cow_directory}" ]] && cow_directory="persistent_${artixlabel}/${arch}" |  | ||||||
|     [[ -z "${cow_chunksize}" ]] && cow_chunksize="8" |  | ||||||
|  |  | ||||||
|     # set mount handler for artix |  | ||||||
|     mount_handler="artix_mount_handler" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # This function is called normally from init script, but it can be called |  | ||||||
| # as chain from other mount handlers. |  | ||||||
| # args: /path/to/newroot |  | ||||||
| artix_mount_handler() { |  | ||||||
|     local newroot="${1}" |  | ||||||
|  |  | ||||||
|     if ! mountpoint -q "/run/artix/bootmnt"; then |  | ||||||
|         _mnt_dev "${artixdevice}" "/run/artix/bootmnt" "-r" "defaults" |  | ||||||
|         if [[ "${copytoram}" != "y" ]]; then |  | ||||||
|             echo $(readlink -f ${artixdevice}) >> /run/artix/used_block_devices |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${checksum}" == "y" ]]; then |  | ||||||
|         for fs in rootfs desktopfs livefs;do |  | ||||||
|             if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sfs" ]]; then |  | ||||||
|                 if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.md5" ]]; then |  | ||||||
|                     msg -n ":: Self-test requested, please wait..." |  | ||||||
|                     if _verify_checksum "${fs}"; then |  | ||||||
|                         msg "done. Checksum is OK, continue booting." |  | ||||||
|                     else |  | ||||||
|                         echo "ERROR: one or more files are corrupted" |  | ||||||
|                         echo "see /tmp/checksum.log for details" |  | ||||||
|                         launch_interactive_shell |  | ||||||
|                     fi |  | ||||||
|                 else |  | ||||||
|                     echo "ERROR: checksum=y option specified but ${artixbasedir}/${arch}/${fs}.md5 not found" |  | ||||||
|                     launch_interactive_shell |  | ||||||
|                 fi |  | ||||||
|             fi |  | ||||||
|         done |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${verify}" == "y" ]]; then |  | ||||||
|         for fs in rootfs desktopfs livefs;do |  | ||||||
|             if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sfs" ]]; then |  | ||||||
|                 if [[ -f "/run/artix/bootmnt/${artixbasedir}/${arch}/${fs}.sfs.sig" ]]; then |  | ||||||
|                     msg -n ":: Signature verification requested, please wait..." |  | ||||||
|                     if _verify_signature "${fs}"; then |  | ||||||
|                         msg "done. Signature is OK, continue booting." |  | ||||||
|                     else |  | ||||||
|                         echo "ERROR: one or more files are corrupted" |  | ||||||
|                         launch_interactive_shell |  | ||||||
|                     fi |  | ||||||
|                 else |  | ||||||
|                     echo "ERROR: verify=y option specified but ${artixbasedir}/${arch}/${fs}.sfs.sig not found" |  | ||||||
|                     launch_interactive_shell |  | ||||||
|                 fi |  | ||||||
|             fi |  | ||||||
|         done |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         msg ":: Mounting /run/artix/copytoram (tmpfs) filesystem, size=${copytoram_size}" |  | ||||||
|         mkdir -p /run/artix/copytoram |  | ||||||
|         mount -t tmpfs -o "size=${copytoram_size}",mode=0755 copytoram /run/artix/copytoram |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ -n "${cow_device}" ]]; then |  | ||||||
|         _mnt_dev "${cow_device}" "/run/artix/cowspace" "-r" "${cow_flags}" |  | ||||||
|         echo $(readlink -f ${cow_device}) >> /run/artix/used_block_devices |  | ||||||
|         mount -o remount,rw "/run/artix/cowspace" |  | ||||||
|     else |  | ||||||
|         msg ":: Mounting /run/artix/cowspace (tmpfs) filesystem, size=${cow_spacesize}..." |  | ||||||
|         mkdir -p /run/artix/cowspace |  | ||||||
|         mount -t tmpfs -o "size=${cow_spacesize}",mode=0755 cowspace /run/artix/cowspace |  | ||||||
|     fi |  | ||||||
|     mkdir -p -m 0700 "/run/artix/cowspace/${cow_directory}" |  | ||||||
|  |  | ||||||
|     msg -n ":: Mounting overlay root (tmpfs) filesystem, size=${overlay_root_size}..." |  | ||||||
|     mkdir -p /run/artix/overlay_root |  | ||||||
|     mount -t tmpfs -o "size=${overlay_root_size}",mode=0755 overlay_root /run/artix/overlay_root |  | ||||||
|  |  | ||||||
|     local src="/run/artix/bootmnt/${artixbasedir}/${arch}" |  | ||||||
|     local dest_sfs="/run/artix/sfs" dest_img="/run/artix/img" |  | ||||||
|     local lower_dir |  | ||||||
|  |  | ||||||
|     for sfs in livefs desktopfs rootfs;do |  | ||||||
|         if [[ -f "${src}/${sfs}.sfs" ]]; then |  | ||||||
|             _mnt_sfs "${src}/${sfs}.sfs" "${dest_sfs}/${sfs}" |  | ||||||
|             if [[ -f "${dest_sfs}/${sfs}/${sfs}.img" ]]; then |  | ||||||
|                 mkdir -p ${dest_img} |  | ||||||
|                 lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_img}/${sfs}" |  | ||||||
|                 _mnt_dmsnapshot "${dest_sfs}/${sfs}/${sfs}.img" "${dest_img}/${sfs}" |  | ||||||
|             else |  | ||||||
|                 lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_sfs}/${sfs}" |  | ||||||
|             fi |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     _mnt_overlayfs "${lower_dir}" "${newroot}" "/" |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         umount -d /run/artix/bootmnt |  | ||||||
|         mkdir -p /run/artix/bootmnt/${artixbasedir}/${arch} |  | ||||||
|         mount -o bind /run/artix/copytoram /run/artix/bootmnt/${artixbasedir}/${arch} |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim:ft=sh:ts=4:sw=4:et: |  | ||||||
| @@ -1,35 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook () { |  | ||||||
|     [[ -n "${img_label}" ]] && img_dev="/dev/disk/by-label/${img_label}" |  | ||||||
|     [[ -z "${img_flags}" ]] && img_flags="defaults" |  | ||||||
|     if [[ -n "${img_dev}" && -n "${img_loop}" ]]; then |  | ||||||
|         mount_handler="artix_loop_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| artix_loop_mount_handler () { |  | ||||||
|     newroot="${1}" |  | ||||||
|  |  | ||||||
|     local _dev_loop |  | ||||||
|  |  | ||||||
|     msg ":: Setup a loop device from ${img_loop} located at device ${img_dev}" |  | ||||||
|     _mnt_dev "${img_dev}" "/run/artix/img_dev" "-r" "${img_flags}" |  | ||||||
|     if [[ "${copytoram}" != "y" ]]; then |  | ||||||
|         echo $(readlink -f ${img_dev}) >> /run/artix/used_block_devices |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if _dev_loop=$(losetup --find --show --read-only "/run/artix/img_dev/${img_loop}"); then |  | ||||||
|         artixdevice="${_dev_loop}" |  | ||||||
|     else |  | ||||||
|         echo "ERROR: Setting loopback device for file '/run/artix/img_dev/${img_loop}'" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     artix_mount_handler ${newroot} |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         losetup -d ${_dev_loop} 2>/dev/null |  | ||||||
|         umount /run/artix/img_dev |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook () { |  | ||||||
|     # Do *not* declare 'bootif_dev' local! We need it in run_latehook(). |  | ||||||
|     local i net_mac bootif_mac |  | ||||||
|     # These variables will be parsed from /tmp/net-*.conf generated by ipconfig |  | ||||||
|     local DEVICE |  | ||||||
|     local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1 |  | ||||||
|     local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH |  | ||||||
|     local filename |  | ||||||
|     # /tmp/net-*.conf |  | ||||||
|  |  | ||||||
|     if [[ -n "${ip}" ]]; then |  | ||||||
|         if [[ -n "${BOOTIF}" ]]; then |  | ||||||
|             bootif_mac=${BOOTIF#01-} |  | ||||||
|             bootif_mac=${bootif_mac//-/:} |  | ||||||
|             for i in /sys/class/net/*/address; do |  | ||||||
|                 read net_mac < ${i} |  | ||||||
|                 if [[ "${bootif_mac}" == "${net_mac}" ]]; then |  | ||||||
|                     bootif_dev=${i#/sys/class/net/} |  | ||||||
|                     bootif_dev=${bootif_dev%/address} |  | ||||||
|                     break |  | ||||||
|                 fi |  | ||||||
|             done |  | ||||||
|             if [[ "${ip}" == "dhcp" ]]; then |  | ||||||
|                ip=":::::${bootif_dev}:dhcp" |  | ||||||
|             else |  | ||||||
|                ip="${ip}::${bootif_dev}" |  | ||||||
|            fi |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|         # setup network and save some values |  | ||||||
|         if ! ipconfig -t 20 "ip=${ip}"; then |  | ||||||
|                 echo "ERROR; Failed to configure network" |  | ||||||
|                 echo "   Falling back to interactive prompt" |  | ||||||
|                 echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|                 launch_interactive_shell |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|         . /tmp/net-*.conf |  | ||||||
|  |  | ||||||
|         pxeserver=${ROOTSERVER} |  | ||||||
|  |  | ||||||
|         # setup DNS resolver |  | ||||||
|         if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then |  | ||||||
|             echo "# added by artix_pxe_common hook" > /etc/resolv.conf |  | ||||||
|             echo "nameserver ${IPV4DNS0}" >> /etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|         if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then |  | ||||||
|             echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|         if [[ -n "${DNSDOMAIN}" ]]; then |  | ||||||
|             echo "search ${DNSDOMAIN}" >> /etc/resolv.conf |  | ||||||
|             echo "domain ${DNSDOMAIN}" >> /etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| run_latehook () { |  | ||||||
|     if [[ -n "${ip}" ]]; then |  | ||||||
|         [[ -z "${copy_resolvconf}" ]] && copy_resolvconf="y" |  | ||||||
|  |  | ||||||
|         if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|             if [[ -n "${bootif_dev}" ]]; then |  | ||||||
|                 ip addr flush dev "${bootif_dev}" |  | ||||||
|                 ip link set "${bootif_dev}" down |  | ||||||
|             fi |  | ||||||
|         elif [[ "${copy_resolvconf}" != "n" && -f /etc/resolv.conf ]]; then |  | ||||||
|             cp /etc/resolv.conf /new_root/etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| @@ -1,59 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${artix_http_srv}" ]]; then |  | ||||||
|  |  | ||||||
|         # booting with http is always copy-to-ram, so set here to make sure |  | ||||||
|         # addresses are flushed and interface is set down |  | ||||||
|         copytoram="y" |  | ||||||
|  |  | ||||||
|         artix_http_srv=$(eval echo ${artix_http_srv}) |  | ||||||
|         [[ -z "${artix_http_spc}" ]] && artix_http_spc="75%" |  | ||||||
|  |  | ||||||
|         mount_handler="artix_pxe_http_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Fetch a file with CURL |  | ||||||
| # |  | ||||||
| # $1 URL |  | ||||||
| # $2 Destination directory inside httpspace/${artixbasedir} |  | ||||||
| _curl_get() { |  | ||||||
|     local _url="${1}" |  | ||||||
|     local _dst="${2}" |  | ||||||
|  |  | ||||||
|     msg ":: Downloading '${_url}'" |  | ||||||
|     if ! curl -L -f -o "/run/artix/httpspace/${artixbasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then |  | ||||||
|         echo "ERROR: Downloading '${_url}'" |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| artix_pxe_http_mount_handler () { |  | ||||||
|     newroot="${1}" |  | ||||||
|  |  | ||||||
|     msg ":: Mounting /run/artix/httpspace (tmpfs) filesystem, size='${artix_http_spc}'" |  | ||||||
|     mkdir -p "/run/artix/httpspace" |  | ||||||
|     mount -t tmpfs -o size="${artix_http_spc}",mode=0755 httpspace "/run/artix/httpspace" |  | ||||||
|  |  | ||||||
|     local _src=${artix_http_srv}${artixbasedir}/${arch} |  | ||||||
|  |  | ||||||
|     for sfs in livefs desktopfs rootfs;do |  | ||||||
|         if [[ ! -z "$( curl -s --head "${_src}/${sfs}.sfs" | grep "OK" )" ]]; then |  | ||||||
|             _curl_get "${_src}/${sfs}.sfs" "/${arch}" |  | ||||||
|  |  | ||||||
|             if [[ "${checksum}" == "y" ]]; then |  | ||||||
|                 _curl_get "${_src}/${sfs}.md5" "/${arch}" |  | ||||||
|             fi |  | ||||||
|             if [[ "${verify}" == "y" ]]; then |  | ||||||
|                 _curl_get "${_src}/${sfs}.sfs.sig" "/${arch}" |  | ||||||
|             fi |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
|     mkdir -p "/run/artix/bootmnt" |  | ||||||
|     mount -o bind /run/artix/httpspace /run/artix/bootmnt |  | ||||||
|  |  | ||||||
|     artix_mount_handler ${newroot} |  | ||||||
| } |  | ||||||
| @@ -1,47 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_earlyhook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${artix_nbd_srv}" ]]; then |  | ||||||
|         # Module autoloading like with loop devices does not work, doing manually... |  | ||||||
|         modprobe nbd 2> /dev/null |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${artix_nbd_srv}" ]]; then |  | ||||||
|  |  | ||||||
|         artix_nbd_srv=$(eval echo ${artix_nbd_srv}) |  | ||||||
|         [[ -z "${artix_nbd_name}" ]] && artix_nbd_name="artix" |  | ||||||
|  |  | ||||||
|         mount_handler="artix_pxe_nbd_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| artix_pxe_nbd_mount_handler () { |  | ||||||
|     newroot="${1}" |  | ||||||
|  |  | ||||||
|     msg ":: Waiting for boot device..." |  | ||||||
|     while ! poll_device /dev/nbd0 30; do |  | ||||||
|         echo "ERROR: boot device didn't show up after 30 seconds..." |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     msg ":: Setup NBD from ${artix_nbd_srv} at /dev/nbd0" |  | ||||||
|     if [[ "${copytoram}" != "n" ]]; then |  | ||||||
|         nbd-client ${artix_nbd_srv} -N ${artix_nbd_name} /dev/nbd0 |  | ||||||
|         copytoram="y" |  | ||||||
|     else |  | ||||||
|         nbd-client ${artix_nbd_srv} -N ${artix_nbd_name} -persist /dev/nbd0 |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     artixdevice=/dev/nbd0 |  | ||||||
|  |  | ||||||
|     artix_mount_handler ${newroot} |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         msg ":: Disconnect NBD from ${artix_nbd_srv} at /dev/nbd0" |  | ||||||
|         nbd-client -d /dev/nbd0 |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${artix_nfs_srv}" ]]; then |  | ||||||
|  |  | ||||||
|         artix_nfs_srv=$(eval echo ${artix_nfs_srv}) |  | ||||||
|         [[ -n "${artix_nfs_opt}" ]] && artix_nfs_opt="-o ${artix_nfs_opt}" |  | ||||||
|  |  | ||||||
|         mount_handler="artix_nfs_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| artix_nfs_mount_handler() { |  | ||||||
|     newroot="${1}" |  | ||||||
|     mkdir -p "/run/artix/bootmnt" |  | ||||||
|     msg ":: Mounting '${artix_nfs_srv}'" |  | ||||||
|     # Do not put "${artix_nfs_opt}" nfsmount fails! |  | ||||||
|     if ! nfsmount ${artix_nfs_opt} "${artix_nfs_srv}" "/run/artix/bootmnt"; then |  | ||||||
|         echo "ERROR: Mounting '${artix_nfs_srv}'" |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" != "n" ]]; then |  | ||||||
|         copytoram="y" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     artix_mount_handler ${newroot} |  | ||||||
| } |  | ||||||
| @@ -1,6 +0,0 @@ | |||||||
| run_cleanuphook() { |  | ||||||
|     rm -rf /usr/lib/modules |  | ||||||
|     cp -ax / /run/initramfs |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,245 +0,0 @@ | |||||||
| # args: source, newroot, mountpoint |  | ||||||
| _mnt_dmsnapshot() { |  | ||||||
|     local img="${1}" |  | ||||||
|     local mnt="${2}" |  | ||||||
|     local img_fullname="${img##*/}"; |  | ||||||
|     local img_name="${img_fullname%%.*}" |  | ||||||
|     local dm_snap_name="${dm_snap_prefix}_${img_name}" |  | ||||||
|     local ro_dev ro_dev_size rw_dev |  | ||||||
|  |  | ||||||
|     ro_dev=$(losetup --find --show --read-only "${img}") |  | ||||||
|     echo ${ro_dev} >> /run/miso/used_block_devices |  | ||||||
|     ro_dev_size=$(blockdev --getsz ${ro_dev}) |  | ||||||
|  |  | ||||||
|     if [[ "${cow_persistent}" == "P" ]]; then |  | ||||||
|         if [[ -f "/run/miso/cowspace/${cow_directory}/${img_name}.cow" ]]; then |  | ||||||
|             msg ":: Found '/run/miso/cowspace/${cow_directory}/${img_name}.cow', using as persistent." |  | ||||||
|         else |  | ||||||
|             msg ":: Creating '/run/miso/cowspace/${cow_directory}/${img_name}.cow' as persistent." |  | ||||||
|             truncate -s "${cow_spacesize}" "/run/miso/cowspace/${cow_directory}/${img_name}.cow" |  | ||||||
|         fi |  | ||||||
|     else |  | ||||||
|         if [[ -f "/run/miso/cowspace/${cow_directory}/${img_name}.cow" ]]; then |  | ||||||
|             msg ":: Found '/run/miso/cowspace/${cow_directory}/${img_name}.cow' but non-persistent requested, removing." |  | ||||||
|             rm -f "/run/miso/cowspace/${cow_directory}/${img_name}.cow" |  | ||||||
|         fi |  | ||||||
|         msg ":: Creating '/run/miso/cowspace/${cow_directory}/${img_name}.cow' as non-persistent." |  | ||||||
|         truncate -s "${cow_spacesize}" "/run/miso/cowspace/${cow_directory}/${img_name}.cow" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     rw_dev=$(losetup --find --show "/run/miso/cowspace/${cow_directory}/${img_name}.cow") |  | ||||||
|     echo ${rw_dev} >> /run/miso/used_block_devices |  | ||||||
|  |  | ||||||
|     dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}" |  | ||||||
|  |  | ||||||
|     _mnt_dev "/dev/mapper/${dm_snap_name}" "${mnt}" "-w" "defaults" |  | ||||||
|     echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/miso/used_block_devices |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # args: source, newroot, mountpoint |  | ||||||
| _mnt_overlayfs() { |  | ||||||
|     local src="${1}" |  | ||||||
|     local newroot="${2}" |  | ||||||
|     local mnt="${3}" |  | ||||||
|     local work_dir="/run/miso/overlay_root/work" |  | ||||||
|     local upper_dir="/run/miso/overlay_root/upper" |  | ||||||
|  |  | ||||||
|     mkdir -p "${upper_dir}" "${work_dir}" |  | ||||||
|  |  | ||||||
|     mount -t overlay overlay -o lowerdir="${src}",upperdir="${upper_dir}",workdir="${work_dir}" "${newroot}${mnt}" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # args: /path/to/image_file, mountpoint |  | ||||||
| _mnt_sfs() { |  | ||||||
|     local img="${1}" |  | ||||||
|     local mnt="${2}" |  | ||||||
|     local img_fullname="${img##*/}" |  | ||||||
|     local sfs_dev |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         msg -n ":: Copying squashfs image to RAM..." |  | ||||||
|         if ! cp "${img}" "/run/miso/copytoram/${img_fullname}" ; then |  | ||||||
|             echo "ERROR: while copy '${img}' to '/run/miso/copytoram/${img_fullname}'" |  | ||||||
|             launch_interactive_shell |  | ||||||
|         fi |  | ||||||
|         img="/run/miso/copytoram/${img_fullname}" |  | ||||||
|         msg "done." |  | ||||||
|     fi |  | ||||||
|     sfs_dev=$(losetup --find --show --read-only "${img}") |  | ||||||
|     echo ${sfs_dev} >> /run/miso/used_block_devices |  | ||||||
|     _mnt_dev "${sfs_dev}" "${mnt}" "-r" "defaults" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # args: device, mountpoint, flags, opts |  | ||||||
| _mnt_dev() { |  | ||||||
|     local dev="${1}" |  | ||||||
|     local mnt="${2}" |  | ||||||
|     local flg="${3}" |  | ||||||
|     local opts="${4}" |  | ||||||
|  |  | ||||||
|     mkdir -p "${mnt}" |  | ||||||
|  |  | ||||||
|     msg ":: Mounting '${dev}' to '${mnt}'" |  | ||||||
|  |  | ||||||
|     while ! poll_device "${dev}" 30; do |  | ||||||
|         echo "ERROR: '${dev}' device did not show up after 30 seconds..." |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     if mount -o "${opts}" "${flg}" "${dev}" "${mnt}"; then |  | ||||||
|         msg ":: Device '${dev}' mounted successfully." |  | ||||||
|     else |  | ||||||
|         echo "ERROR; Failed to mount '${dev}'" |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| _verify_checksum() { |  | ||||||
|     local _status |  | ||||||
|     cd "/run/miso/bootmnt/${misobasedir}/${arch}" |  | ||||||
|     md5sum -c $1.md5 > /tmp/checksum.log 2>&1 |  | ||||||
|     _status=$? |  | ||||||
|     cd "${OLDPWD}" |  | ||||||
|     return ${_status} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| _verify_signature() { |  | ||||||
|     local _status |  | ||||||
|     cd "/run/miso/bootmnt/${misobasedir}/${arch}" |  | ||||||
|     gpg --homedir /gpg --status-fd 1 --verify $1.sfs.sig 2>/dev/null | grep -qE '^\[GNUPG:\] GOODSIG' |  | ||||||
|     _status=$? |  | ||||||
|     cd "${OLDPWD}" |  | ||||||
|     return ${_status} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     [[ -z "${arch}" ]] && arch="$(uname -m)" |  | ||||||
|     [[ -z "${copytoram_size}" ]] && copytoram_size="75%" |  | ||||||
|     [[ -z "${misobasedir}" ]] && misobasedir="cromnix" |  | ||||||
|  |  | ||||||
|     [[ -z "${dm_snap_prefix}" ]] && dm_snap_prefix="arch" |  | ||||||
|     [[ -z "${misodevice}" ]] && misodevice="/dev/disk/by-label/${misolabel}" |  | ||||||
|     [[ -z "${cow_spacesize}" ]] && cow_spacesize="256M" |  | ||||||
|     [[ -z "${overlay_root_size}" ]] && overlay_root_size="75%" |  | ||||||
|  |  | ||||||
|     if [[ -n "${cow_label}" ]]; then |  | ||||||
|         cow_device="/dev/disk/by-label/${cow_label}" |  | ||||||
|         [[ -z "${cow_persistent}" ]] && cow_persistent="P" |  | ||||||
|     elif [[ -n "${cow_device}" ]]; then |  | ||||||
|         [[ -z "${cow_persistent}" ]] && cow_persistent="P" |  | ||||||
|     else |  | ||||||
|         cow_persistent="N" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     [[ -z "${cow_flags}" ]] && cow_flags="defaults" |  | ||||||
|     [[ -z "${cow_directory}" ]] && cow_directory="persistent_${misolabel}/${arch}" |  | ||||||
|     [[ -z "${cow_chunksize}" ]] && cow_chunksize="8" |  | ||||||
|  |  | ||||||
|     # set mount handler for miso |  | ||||||
|     mount_handler="miso_mount_handler" |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # This function is called normally from init script, but it can be called |  | ||||||
| # as chain from other mount handlers. |  | ||||||
| # args: /path/to/newroot |  | ||||||
| miso_mount_handler() { |  | ||||||
|     local newroot="${1}" |  | ||||||
|  |  | ||||||
|     if ! mountpoint -q "/run/miso/bootmnt"; then |  | ||||||
|         _mnt_dev "${misodevice}" "/run/miso/bootmnt" "-r" "defaults" |  | ||||||
|         if [[ "${copytoram}" != "y" ]]; then |  | ||||||
|             echo $(readlink -f ${misodevice}) >> /run/miso/used_block_devices |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${checksum}" == "y" ]]; then |  | ||||||
|         for fs in rootfs desktopfs livefs;do |  | ||||||
|             if [[ -f "/run/miso/bootmnt/${misobasedir}/${arch}/${fs}.sfs" ]]; then |  | ||||||
|                 if [[ -f "/run/miso/bootmnt/${misobasedir}/${arch}/${fs}.md5" ]]; then |  | ||||||
|                     msg -n ":: Self-test requested, please wait..." |  | ||||||
|                     if _verify_checksum "${fs}"; then |  | ||||||
|                         msg "done. Checksum is OK, continue booting." |  | ||||||
|                     else |  | ||||||
|                         echo "ERROR: one or more files are corrupted" |  | ||||||
|                         echo "see /tmp/checksum.log for details" |  | ||||||
|                         launch_interactive_shell |  | ||||||
|                     fi |  | ||||||
|                 else |  | ||||||
|                     echo "ERROR: checksum=y option specified but ${misobasedir}/${arch}/${fs}.md5 not found" |  | ||||||
|                     launch_interactive_shell |  | ||||||
|                 fi |  | ||||||
|             fi |  | ||||||
|         done |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${verify}" == "y" ]]; then |  | ||||||
|         for fs in rootfs desktopfs livefs;do |  | ||||||
|             if [[ -f "/run/miso/bootmnt/${misobasedir}/${arch}/${fs}.sfs" ]]; then |  | ||||||
|                 if [[ -f "/run/miso/bootmnt/${misobasedir}/${arch}/${fs}.sfs.sig" ]]; then |  | ||||||
|                     msg -n ":: Signature verification requested, please wait..." |  | ||||||
|                     if _verify_signature "${fs}"; then |  | ||||||
|                         msg "done. Signature is OK, continue booting." |  | ||||||
|                     else |  | ||||||
|                         echo "ERROR: one or more files are corrupted" |  | ||||||
|                         launch_interactive_shell |  | ||||||
|                     fi |  | ||||||
|                 else |  | ||||||
|                     echo "ERROR: verify=y option specified but ${misobasedir}/${arch}/${fs}.sfs.sig not found" |  | ||||||
|                     launch_interactive_shell |  | ||||||
|                 fi |  | ||||||
|             fi |  | ||||||
|         done |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         msg ":: Mounting /run/miso/copytoram (tmpfs) filesystem, size=${copytoram_size}" |  | ||||||
|         mkdir -p /run/miso/copytoram |  | ||||||
|         mount -t tmpfs -o "size=${copytoram_size}",mode=0755 copytoram /run/miso/copytoram |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ -n "${cow_device}" ]]; then |  | ||||||
|         _mnt_dev "${cow_device}" "/run/miso/cowspace" "-r" "${cow_flags}" |  | ||||||
|         echo $(readlink -f ${cow_device}) >> /run/miso/used_block_devices |  | ||||||
|         mount -o remount,rw "/run/miso/cowspace" |  | ||||||
|     else |  | ||||||
|         msg ":: Mounting /run/miso/cowspace (tmpfs) filesystem, size=${cow_spacesize}..." |  | ||||||
|         mkdir -p /run/miso/cowspace |  | ||||||
|         mount -t tmpfs -o "size=${cow_spacesize}",mode=0755 cowspace /run/miso/cowspace |  | ||||||
|     fi |  | ||||||
|     mkdir -p -m 0700 "/run/miso/cowspace/${cow_directory}" |  | ||||||
|  |  | ||||||
|     msg -n ":: Mounting overlay root (tmpfs) filesystem, size=${overlay_root_size}..." |  | ||||||
|     mkdir -p /run/miso/overlay_root |  | ||||||
|     mount -t tmpfs -o "size=${overlay_root_size}",mode=0755 overlay_root /run/miso/overlay_root |  | ||||||
|  |  | ||||||
|     local src="/run/miso/bootmnt/${misobasedir}/${arch}" |  | ||||||
|     local dest_sfs="/run/miso/sfs" dest_img="/run/miso/img" |  | ||||||
|     local lower_dir |  | ||||||
|  |  | ||||||
|     for sfs in livefs desktopfs rootfs;do |  | ||||||
|         if [[ -f "${src}/${sfs}.sfs" ]]; then |  | ||||||
|             _mnt_sfs "${src}/${sfs}.sfs" "${dest_sfs}/${sfs}" |  | ||||||
|             if [[ -f "${dest_sfs}/${sfs}/${sfs}.img" ]]; then |  | ||||||
|                 mkdir -p ${dest_img} |  | ||||||
|                 lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_img}/${sfs}" |  | ||||||
|                 _mnt_dmsnapshot "${dest_sfs}/${sfs}/${sfs}.img" "${dest_img}/${sfs}" |  | ||||||
|             else |  | ||||||
|                 lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_sfs}/${sfs}" |  | ||||||
|             fi |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     _mnt_overlayfs "${lower_dir}" "${newroot}" "/" |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         umount -d /run/miso/bootmnt |  | ||||||
|         mkdir -p /run/miso/bootmnt/${misobasedir}/${arch} |  | ||||||
|         mount -o bind /run/miso/copytoram /run/miso/bootmnt/${misobasedir}/${arch} |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim:ft=sh:ts=4:sw=4:et: |  | ||||||
| @@ -1,35 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook () { |  | ||||||
|     [[ -n "${img_label}" ]] && img_dev="/dev/disk/by-label/${img_label}" |  | ||||||
|     [[ -z "${img_flags}" ]] && img_flags="defaults" |  | ||||||
|     if [[ -n "${img_dev}" && -n "${img_loop}" ]]; then |  | ||||||
|         mount_handler="miso_loop_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| miso_loop_mount_handler () { |  | ||||||
|     newroot="${1}" |  | ||||||
|  |  | ||||||
|     local _dev_loop |  | ||||||
|  |  | ||||||
|     msg ":: Setup a loop device from ${img_loop} located at device ${img_dev}" |  | ||||||
|     _mnt_dev "${img_dev}" "/run/miso/img_dev" "-r" "${img_flags}" |  | ||||||
|     if [[ "${copytoram}" != "y" ]]; then |  | ||||||
|         echo $(readlink -f ${img_dev}) >> /run/miso/used_block_devices |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if _dev_loop=$(losetup --find --show --read-only "/run/miso/img_dev/${img_loop}"); then |  | ||||||
|         misodevice="${_dev_loop}" |  | ||||||
|     else |  | ||||||
|         echo "ERROR: Setting loopback device for file '/run/miso/img_dev/${img_loop}'" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     miso_mount_handler ${newroot} |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         losetup -d ${_dev_loop} 2>/dev/null |  | ||||||
|         umount /run/miso/img_dev |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook () { |  | ||||||
|     # Do *not* declare 'bootif_dev' local! We need it in run_latehook(). |  | ||||||
|     local i net_mac bootif_mac |  | ||||||
|     # These variables will be parsed from /tmp/net-*.conf generated by ipconfig |  | ||||||
|     local DEVICE |  | ||||||
|     local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1 |  | ||||||
|     local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH |  | ||||||
|     local filename |  | ||||||
|     # /tmp/net-*.conf |  | ||||||
|  |  | ||||||
|     if [[ -n "${ip}" ]]; then |  | ||||||
|         if [[ -n "${BOOTIF}" ]]; then |  | ||||||
|             bootif_mac=${BOOTIF#01-} |  | ||||||
|             bootif_mac=${bootif_mac//-/:} |  | ||||||
|             for i in /sys/class/net/*/address; do |  | ||||||
|                 read net_mac < ${i} |  | ||||||
|                 if [[ "${bootif_mac}" == "${net_mac}" ]]; then |  | ||||||
|                     bootif_dev=${i#/sys/class/net/} |  | ||||||
|                     bootif_dev=${bootif_dev%/address} |  | ||||||
|                     break |  | ||||||
|                 fi |  | ||||||
|             done |  | ||||||
|             if [[ "${ip}" == "dhcp" ]]; then |  | ||||||
|                ip=":::::${bootif_dev}:dhcp" |  | ||||||
|             else |  | ||||||
|                ip="${ip}::${bootif_dev}" |  | ||||||
|            fi |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|         # setup network and save some values |  | ||||||
|         if ! ipconfig -t 20 "ip=${ip}"; then |  | ||||||
|                 echo "ERROR; Failed to configure network" |  | ||||||
|                 echo "   Falling back to interactive prompt" |  | ||||||
|                 echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|                 launch_interactive_shell |  | ||||||
|         fi |  | ||||||
|  |  | ||||||
|         . /tmp/net-*.conf |  | ||||||
|  |  | ||||||
|         pxeserver=${ROOTSERVER} |  | ||||||
|  |  | ||||||
|         # setup DNS resolver |  | ||||||
|         if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then |  | ||||||
|             echo "# added by miso_pxe_common hook" > /etc/resolv.conf |  | ||||||
|             echo "nameserver ${IPV4DNS0}" >> /etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|         if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then |  | ||||||
|             echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|         if [[ -n "${DNSDOMAIN}" ]]; then |  | ||||||
|             echo "search ${DNSDOMAIN}" >> /etc/resolv.conf |  | ||||||
|             echo "domain ${DNSDOMAIN}" >> /etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| run_latehook () { |  | ||||||
|     if [[ -n "${ip}" ]]; then |  | ||||||
|         [[ -z "${copy_resolvconf}" ]] && copy_resolvconf="y" |  | ||||||
|  |  | ||||||
|         if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|             if [[ -n "${bootif_dev}" ]]; then |  | ||||||
|                 ip addr flush dev "${bootif_dev}" |  | ||||||
|                 ip link set "${bootif_dev}" down |  | ||||||
|             fi |  | ||||||
|         elif [[ "${copy_resolvconf}" != "n" && -f /etc/resolv.conf ]]; then |  | ||||||
|             cp /etc/resolv.conf /new_root/etc/resolv.conf |  | ||||||
|         fi |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| @@ -1,59 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${miso_http_srv}" ]]; then |  | ||||||
|  |  | ||||||
|         # booting with http is always copy-to-ram, so set here to make sure |  | ||||||
|         # addresses are flushed and interface is set down |  | ||||||
|         copytoram="y" |  | ||||||
|  |  | ||||||
|         miso_http_srv=$(eval echo ${miso_http_srv}) |  | ||||||
|         [[ -z "${miso_http_spc}" ]] && miso_http_spc="75%" |  | ||||||
|  |  | ||||||
|         mount_handler="miso_pxe_http_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # Fetch a file with CURL |  | ||||||
| # |  | ||||||
| # $1 URL |  | ||||||
| # $2 Destination directory inside httpspace/${misobasedir} |  | ||||||
| _curl_get() { |  | ||||||
|     local _url="${1}" |  | ||||||
|     local _dst="${2}" |  | ||||||
|  |  | ||||||
|     msg ":: Downloading '${_url}'" |  | ||||||
|     if ! curl -L -f -o "/run/miso/httpspace/${misobasedir}${_dst}/${_url##*/}" --create-dirs "${_url}"; then |  | ||||||
|         echo "ERROR: Downloading '${_url}'" |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| miso_pxe_http_mount_handler () { |  | ||||||
|     newroot="${1}" |  | ||||||
|  |  | ||||||
|     msg ":: Mounting /run/miso/httpspace (tmpfs) filesystem, size='${miso_http_spc}'" |  | ||||||
|     mkdir -p "/run/miso/httpspace" |  | ||||||
|     mount -t tmpfs -o size="${miso_http_spc}",mode=0755 httpspace "/run/miso/httpspace" |  | ||||||
|  |  | ||||||
|     local _src=${miso_http_srv}${misobasedir}/${arch} |  | ||||||
|  |  | ||||||
|     for sfs in livefs desktopfs rootfs;do |  | ||||||
|         if [[ ! -z "$( curl -s --head "${_src}/${sfs}.sfs" | grep "OK" )" ]]; then |  | ||||||
|             _curl_get "${_src}/${sfs}.sfs" "/${arch}" |  | ||||||
|  |  | ||||||
|             if [[ "${checksum}" == "y" ]]; then |  | ||||||
|                 _curl_get "${_src}/${sfs}.md5" "/${arch}" |  | ||||||
|             fi |  | ||||||
|             if [[ "${verify}" == "y" ]]; then |  | ||||||
|                 _curl_get "${_src}/${sfs}.sfs.sig" "/${arch}" |  | ||||||
|             fi |  | ||||||
|         fi |  | ||||||
|     done |  | ||||||
|     mkdir -p "/run/miso/bootmnt" |  | ||||||
|     mount -o bind /run/miso/httpspace /run/miso/bootmnt |  | ||||||
|  |  | ||||||
|     miso_mount_handler ${newroot} |  | ||||||
| } |  | ||||||
| @@ -1,47 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_earlyhook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${miso_nbd_srv}" ]]; then |  | ||||||
|         # Module autoloading like with loop devices does not work, doing manually... |  | ||||||
|         modprobe nbd 2> /dev/null |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${miso_nbd_srv}" ]]; then |  | ||||||
|  |  | ||||||
|         miso_nbd_srv=$(eval echo ${miso_nbd_srv}) |  | ||||||
|         [[ -z "${miso_nbd_name}" ]] && miso_nbd_name="miso" |  | ||||||
|  |  | ||||||
|         mount_handler="miso_pxe_nbd_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| miso_pxe_nbd_mount_handler () { |  | ||||||
|     newroot="${1}" |  | ||||||
|  |  | ||||||
|     msg ":: Waiting for boot device..." |  | ||||||
|     while ! poll_device /dev/nbd0 30; do |  | ||||||
|         echo "ERROR: boot device didn't show up after 30 seconds..." |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     done |  | ||||||
|  |  | ||||||
|     msg ":: Setup NBD from ${miso_nbd_srv} at /dev/nbd0" |  | ||||||
|     if [[ "${copytoram}" != "n" ]]; then |  | ||||||
|         nbd-client ${miso_nbd_srv} -N ${miso_nbd_name} /dev/nbd0 |  | ||||||
|         copytoram="y" |  | ||||||
|     else |  | ||||||
|         nbd-client ${miso_nbd_srv} -N ${miso_nbd_name} -persist /dev/nbd0 |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     misodevice=/dev/nbd0 |  | ||||||
|  |  | ||||||
|     miso_mount_handler ${newroot} |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" == "y" ]]; then |  | ||||||
|         msg ":: Disconnect NBD from ${miso_nbd_srv} at /dev/nbd0" |  | ||||||
|         nbd-client -d /dev/nbd0 |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| # vim: set ft=sh: |  | ||||||
|  |  | ||||||
| run_hook() { |  | ||||||
|     if [[ -n "${ip}" && -n "${miso_nfs_srv}" ]]; then |  | ||||||
|  |  | ||||||
|         miso_nfs_srv=$(eval echo ${miso_nfs_srv}) |  | ||||||
|         [[ -n "${miso_nfs_opt}" ]] && miso_nfs_opt="-o ${miso_nfs_opt}" |  | ||||||
|  |  | ||||||
|         mount_handler="miso_nfs_mount_handler" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| miso_nfs_mount_handler() { |  | ||||||
|     newroot="${1}" |  | ||||||
|     mkdir -p "/run/miso/bootmnt" |  | ||||||
|     msg ":: Mounting '${miso_nfs_srv}'" |  | ||||||
|     # Do not put "${miso_nfs_opt}" nfsmount fails! |  | ||||||
|     if ! nfsmount ${miso_nfs_opt} "${miso_nfs_srv}" "/run/miso/bootmnt"; then |  | ||||||
|         echo "ERROR: Mounting '${miso_nfs_srv}'" |  | ||||||
|         echo "   Falling back to interactive prompt" |  | ||||||
|         echo "   You can try to fix the problem manually, log out when you are finished" |  | ||||||
|         launch_interactive_shell |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     if [[ "${copytoram}" != "n" ]]; then |  | ||||||
|         copytoram="y" |  | ||||||
|     fi |  | ||||||
|  |  | ||||||
|     miso_mount_handler ${newroot} |  | ||||||
| } |  | ||||||
| @@ -1,6 +0,0 @@ | |||||||
| run_cleanuphook() { |  | ||||||
|     rm -rf /usr/lib/modules |  | ||||||
|     cp -ax / /run/initramfs |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "cdrom" |  | ||||||
|     add_module "loop" |  | ||||||
|     add_module "dm-snapshot" |  | ||||||
|     add_module "overlay" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary /usr/lib/udev/cdrom_id |  | ||||||
|     add_binary blockdev |  | ||||||
|     add_binary dmsetup |  | ||||||
|     add_binary losetup |  | ||||||
|     add_binary mountpoint |  | ||||||
|     add_binary truncate |  | ||||||
|     add_binary gpg |  | ||||||
|     add_binary grep |  | ||||||
|  |  | ||||||
|     add_file /usr/lib/udev/rules.d/60-cdrom_id.rules |  | ||||||
|     add_file /usr/lib/udev/rules.d/10-dm.rules |  | ||||||
|     add_file /usr/lib/udev/rules.d/95-dm-notify.rules |  | ||||||
|     add_file /usr/lib/initcpio/udev/11-dm-initramfs.rules /usr/lib/udev/rules.d/11-dm-initramfs.rules |  | ||||||
|     if [[ $ARTIX_GNUPG_FD ]]; then |  | ||||||
|         mkdir -p "$BUILDROOT$dest"/gpg |  | ||||||
|         gpg --homedir "$BUILDROOT$dest"/gpg --import <&$ARTIX_GNUPG_FD |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "radeon" |  | ||||||
|     add_module "nouveau" |  | ||||||
|     add_module "i915" |  | ||||||
|     add_module "via-agp" |  | ||||||
|     add_module "sis-agp" |  | ||||||
|     add_module "intel-agp" |  | ||||||
|  |  | ||||||
|     if [[ $(uname -m) == i686 ]]; then |  | ||||||
|         add_module "amd64-agp" |  | ||||||
|         add_module "ati-agp" |  | ||||||
|         add_module "sworks-agp" |  | ||||||
|         add_module "ali-agp" |  | ||||||
|         add_module "amd-k7-agp" |  | ||||||
|         add_module "nvidia-agp" |  | ||||||
|         add_module "efficeon-agp" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
|     cat << HELPEOF |  | ||||||
| Adds all common KMS drivers to the initramfs image. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
| @@ -1,13 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_runscript |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via loop device. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_checked_modules -f "(irda|phy|wimax|wireless|ppp_|plip|pppoe)" "/drivers/net/" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary /usr/lib/initcpio/ipconfig /bin/ipconfig |  | ||||||
|  |  | ||||||
|     # Add hosts support files+dns |  | ||||||
|     add_symlink /usr/lib/libnss_files.so.2 $(readlink /usr/lib/libnss_files.so.2) |  | ||||||
|     add_binary $(readlink -f /usr/lib/libnss_files.so.2) |  | ||||||
|     add_symlink /usr/lib/libnss_dns.so.2 $(readlink /usr/lib/libnss_dns.so.2) |  | ||||||
|     add_binary $(readlink -f /usr/lib/libnss_dns.so.2) |  | ||||||
|  |  | ||||||
|     add_dir /etc |  | ||||||
|     echo "hosts: files dns" > $BUILDROOT/etc/nsswitch.conf |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary curl |  | ||||||
|  |  | ||||||
|     add_file $(readlink -f /etc/ssl/certs/ca-certificates.crt) /etc/ssl/certs/ca-certificates.crt |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE and HTTP. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "nbd" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary nbd-client |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE and NBD. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "nfs" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary /usr/lib/initcpio/nfsmount /bin/nfsmount |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
|     cat <<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE and NFS. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,20 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_binary cp |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_file /etc/initcpio/artix_shutdown /shutdown |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
|     cat <<HELPEOF |  | ||||||
| This hook will create a shutdown initramfs in /run/initramfs |  | ||||||
| that we can pivot to on shutdown in order to unmount / and |  | ||||||
| and others mount points, dm-snapshot devices and loopback devices. |  | ||||||
| Mostly usefull for dm-snapshot persistent. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,30 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "cdrom" |  | ||||||
|     add_module "loop" |  | ||||||
|     add_module "dm-snapshot" |  | ||||||
|     add_module "overlay" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary /usr/lib/udev/cdrom_id |  | ||||||
|     add_binary blockdev |  | ||||||
|     add_binary dmsetup |  | ||||||
|     add_binary losetup |  | ||||||
|     add_binary mountpoint |  | ||||||
|     add_binary truncate |  | ||||||
|     add_binary gpg |  | ||||||
|     add_binary grep |  | ||||||
|  |  | ||||||
|     add_file /usr/lib/udev/rules.d/60-cdrom_id.rules |  | ||||||
|     add_file /usr/lib/udev/rules.d/10-dm.rules |  | ||||||
|     add_file /usr/lib/udev/rules.d/95-dm-notify.rules |  | ||||||
|     add_file /usr/lib/initcpio/udev/11-dm-initramfs.rules /usr/lib/udev/rules.d/11-dm-initramfs.rules |  | ||||||
|     if [[ $MISO_GNUPG_FD ]]; then |  | ||||||
|         mkdir -p "$BUILDROOT$dest"/gpg |  | ||||||
|         gpg --homedir "$BUILDROOT$dest"/gpg --import <&$MISO_GNUPG_FD |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "radeon" |  | ||||||
|     add_module "nouveau" |  | ||||||
|     add_module "i915" |  | ||||||
|     add_module "via-agp" |  | ||||||
|     add_module "sis-agp" |  | ||||||
|     add_module "intel-agp" |  | ||||||
|  |  | ||||||
|     if [[ $(uname -m) == i686 ]]; then |  | ||||||
|         add_module "amd64-agp" |  | ||||||
|         add_module "ati-agp" |  | ||||||
|         add_module "sworks-agp" |  | ||||||
|         add_module "ali-agp" |  | ||||||
|         add_module "amd-k7-agp" |  | ||||||
|         add_module "nvidia-agp" |  | ||||||
|         add_module "efficeon-agp" |  | ||||||
|     fi |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
|     cat << HELPEOF |  | ||||||
| Adds all common KMS drivers to the initramfs image. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
| @@ -1,13 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_runscript |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via loop device. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,26 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_checked_modules -f "(irda|phy|wimax|wireless|ppp_|plip|pppoe)" "/drivers/net/" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary /usr/lib/initcpio/ipconfig /bin/ipconfig |  | ||||||
|  |  | ||||||
|     # Add hosts support files+dns |  | ||||||
|     add_symlink /usr/lib/libnss_files.so.2 $(readlink /usr/lib/libnss_files.so.2) |  | ||||||
|     add_binary $(readlink -f /usr/lib/libnss_files.so.2) |  | ||||||
|     add_symlink /usr/lib/libnss_dns.so.2 $(readlink /usr/lib/libnss_dns.so.2) |  | ||||||
|     add_binary $(readlink -f /usr/lib/libnss_dns.so.2) |  | ||||||
|  |  | ||||||
|     add_dir /etc |  | ||||||
|     echo "hosts: files dns" > $BUILDROOT/etc/nsswitch.conf |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary curl |  | ||||||
|  |  | ||||||
|     add_file $(readlink -f /etc/ssl/certs/ca-certificates.crt) /etc/ssl/certs/ca-certificates.crt |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE and HTTP. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "nbd" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary nbd-client |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
| cat<<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE and NBD. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,17 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_module "nfs" |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_binary /usr/lib/initcpio/nfsmount /bin/nfsmount |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
|     cat <<HELPEOF |  | ||||||
|   This hook loads the necessary modules for boot via PXE and NFS. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
| @@ -1,20 +0,0 @@ | |||||||
| #!/bin/bash |  | ||||||
|  |  | ||||||
| build() { |  | ||||||
|     add_binary cp |  | ||||||
|  |  | ||||||
|     add_runscript |  | ||||||
|  |  | ||||||
|     add_file /etc/initcpio/miso_shutdown /shutdown |  | ||||||
| } |  | ||||||
|  |  | ||||||
| help() { |  | ||||||
|     cat <<HELPEOF |  | ||||||
| This hook will create a shutdown initramfs in /run/initramfs |  | ||||||
| that we can pivot to on shutdown in order to unmount / and |  | ||||||
| and others mount points, dm-snapshot devices and loopback devices. |  | ||||||
| Mostly usefull for dm-snapshot persistent. |  | ||||||
| HELPEOF |  | ||||||
| } |  | ||||||
|  |  | ||||||
| # vim: set ft=sh ts=4 sw=4 et: |  | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user