| REPRO-ENV(1) | General Commands Manual | REPRO-ENV(1) |
نام (NAME)
repro-env - فایلهای قفل وابستگی برای محیطهای ساخت بازتولیدپذیر
خلاصه دستور (SYNOPSIS)
repro-env update
repro-env build -- [COMMAND]
توضیحات (DESCRIPTION)
توصیف وضعیت مورد نظر را در repro-env.toml نگهداری میکند؛ برای نمونه، آخرین نسخه از یک تصویر رسمی کانتینر، با آخرین سطح وصله و آخرین نسخه از برخی بستههای اضافی. همچنین حالت حلشده را در repro-env.lock پیگیری میکند که نسخهها و چکسامهای مشخص بستههای لازم برای برپاسازی محیط توصیفشده را ثبت مینماید (در سطح وصله موجود در زمان نگارش).
هدف repro-env.toml این است که در صورت در دسترس قرار گرفتن وصلههای جدید، حل مجدد مشخصات کاری بسیار ساده باشد. این فایل توسط repro-env update خوانده میشود.
هدف repro-env.lock مستندسازی این است که کدام نسخههای کامپایلر برای باینری انتشار مرتبط با یک انتشار مشخص به کار رفتهاند. ثبت این اطلاعات برای ساختهای بازتولیدپذیر ضروری است و امکان بررسی قانونی و موشکافانه (forensic) محیط ساخت را در آینده فراهم میآورد. این فایل میتواند در مخزن کد منبع کامیت شود یا همراه با باینری کامپایلشده، به عنوان یک دستسازه (artifact) به انتشار ضمیمه گردد. این فایل توسط repro-env build خوانده میشود.
گزینههای سراسری (GLOBAL OPTIONS)
-v, --verbose
-C path, --context path
بروزرسانی (UPDATE)
این دستور محیط توصیفشده در repro-env.toml را با آخرین بروزرسانیهای موجود حل کرده و یک repro-env.lock مینویسد. استفاده از این دستور مشابه نحوه استفاده از cargo update است.
--no-pull
-k, --keep
ساخت (BUILD)
این دستور یک repro-env.lock را بارگذاری کرده، محیط توصیفشده در آن را درون یک کانتینر برپا میکند و دایرکتوری جاری را در مسیر /build داخل کانتینر متصل (mount) میسازد. سپس COMMAND دادهشده را درون این کانتینر اجرا میکند.
-f path, --file path
-k, --keep
-e env, --env env
بستهها: آرچ لینوکس (PACKAGES: ARCH LINUX)
آرچ لینوکس مجموعهای جامع از کامپایلرهای اخیر را در https://archive.archlinux.org میزبانی میکند. میتوانید یک بخش [packages] با system = "archlinux" در repro-env.toml خود ایجاد کنید تا بستههای اضافی را با pacman نصب نمایید.
# repro-env.toml [container] image = "docker.io/library/archlinux" [packages] system = "archlinux" dependencies = ["rust-musl", "lua"]
بستهها: دبیان (PACKAGES: DEBIAN)
دبیان یک انتخاب پرکاربرد است و آرشیوی از تمامی بستههای خود را در https://snapshot.debian.org میزبانی میکند. میتوانید یک بخش [packages] با system = "debian" در repro-env.toml خود ایجاد کنید تا بستههای اضافی را با apt-get نصب نمایید.
# repro-env.toml [container] image = "debian:bookworm" [packages] system = "debian" dependencies = ["gcc", "libc6-dev"]
نویسندگان (AUTHORS)
repro-env در گیتهاب در نشانی https://github.com/kpcyrd/repro-env توسعه داده میشود.
| 2026-08-17 |