🔒 Repository is read-only – file editing is disabled.

PaganLinux/pagan-web-v2/templates/submit_recipe.html main

80 linii Raw ← Powrót
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
{% extends "base.html" %}{% block title %}Dodaj pakiet – PaganOS{% endblock %}
{% block content %}
<div class="card" style="max-width:820px;margin:2rem auto">
 <div class="card-header"><h2> Zaproponuj pakiet (community)</h2></div>
 <p style="padding:0 1rem;font-size:0.9rem;color:var(--muted)">
 Nie ma pakietu, którego używasz? Wypełnij formularz — wygenerujemy <code>PAGBUILD.yaml</code>.
 Zgłoszenie trafi do kolejki i <strong>zostanie zatwierdzone przez administratora</strong> zanim trafi do builda.
 Pamiętaj: <code>build</code>/<code>package</code> wykonują się na serwerze, więc pisz je ostrożnie (model jak AUR).
 </p>
 <details id="regulamin" style="padding:0 1rem 0.5rem;font-size:0.9rem">
 <summary style="cursor:pointer;font-weight:600;color:var(--text-bright)"> Regulamin zgłaszania receptur (rozwiń)</summary>
 <div style="margin-top:0.6rem;line-height:1.7;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0.8rem 1rem">
 <p style="margin-bottom:0.5rem"><strong>§1. Postanowienia ogólne</strong><br>
 1. Niniejszy regulamin określa zasady zgłaszania receptur pakietów (dalej: „receptur”) w serwisie PaganOS (dalej: „projekt”).<br>
 2. Zgłaszając recepturę, akceptujesz niniejszy regulamin w całości. Brak akceptacji uniemożliwia skorzystanie z formularza.<br>
 3. Kontakt w sprawach projektu i regulaminu: <code>repo@paganlinux.eu</code>.</p>
 <p style="margin-bottom:0.5rem"><strong>§2. Prawa autorskie i licencje</strong><br>
 1. Zgłaszający oświadcza, że ma odpowiednie uprawnienia do treści receptury oraz do wskazanych przez siebie źródeł i że nie narusza praw autorskich ani innych praw osób trzecich.<br>
 2. Zgłaszający odpowiada za podaną licencję pakietu oraz za zgodność wskazanych źródeł z tą licencją.<br>
 3. Przyjmując zgłoszenie, zgłaszający udziela projektowi niewyłącznej licencji na opublikowanie receptury w publicznym repozytorium receptur oraz na jej modyfikację w celu utrzymania pakietu (np. poprawki budowania, aktualizacje wersji).</p>
 <p style="margin-bottom:0.5rem"><strong>§3. Bezpieczeństwo i treść</strong><br>
 1. Receptura nie może zawierać złośliwego, szkodliwego ani podszywającego się kodu. Fazy <code>build</code>/<code>package</code> wykonują się na serwerze projektu.<br>
 2. Zgłoszenie nie może naruszać prawa ani dobrych obyczajów, w tym przepisów prawa polskiego.<br>
 3. Każde zgłoszenie podlega weryfikacji i zatwierdzeniu przez administratora. Administrator może odrzucić zgłoszenie, w szczególności w razie naruszenia regulaminu.</p>
 <p style="margin-bottom:0.5rem"><strong>§4. Dane osobowe (RODO)</strong><br>
 1. Administratorem danych osobowych zgłaszającego (m.in. nazwa użytkownika i adres IP) jest zespół PaganOS.<br>
 2. Dane przetwarzane są wyłącznie w celu obsługi zgłoszenia, zapewnienia bezpieczeństwa serwisu oraz ewentualnego kontaktu w sprawie zgłoszenia.<br>
 3. Zgłaszającemu przysługuje prawo dostępu do danych, ich sprostowania, usunięcia oraz ograniczenia przetwarzania, a także prawo wniesienia skargi do Prezesa UODO. W tych sprawach kontakt: <code>repo@paganlinux.eu</code>.</p>
 <p style="margin-bottom:0.5rem"><strong>§5. Odpowiedzialność</strong><br>
 1. Projekt nie ponosi odpowiedzialności za szkody wynikające z użycia zgłoszonych receptur.<br>
 2. Zgłoszenia nieprawdziwe lub naruszające regulamin mogą zostać usunięte, a dostęp do formularza może zostać ograniczony.</p>
 <p><strong>§6. Postanowienia końcowe</strong><br>
 1. Regulamin może ulec zmianie; zmiany obowiązują od momentu ich opublikowania na tej stronie.<br>
 2. Kontynuowanie korzystania z formularza po zmianie regulaminu oznacza jego akceptację.</p>
 </div>
 </details>
 <form method="POST" style="padding:1rem;display:grid;gap:0.6rem">
 <input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
 <div style="display:grid;grid-template-columns:1fr 1fr;gap:0.6rem">
 <div><label style="font-size:0.85rem">Nazwa pakietu (pkgname)</label>
 <input name="pkgname" value="{{ data.get('pkgname','') }}" placeholder="np. abc" required pattern="[a-z0-9][a-z0-9+_.-]*" style="width:100%"></div>
 <div><label style="font-size:0.85rem">Wersja (pkgver)</label>
 <input name="pkgver" value="{{ data.get('pkgver','') }}" placeholder="np. 1.2.3" required pattern="[0-9][a-zA-Z0-9._+-]*" style="width:100%"></div>
 </div>
 <div><label style="font-size:0.85rem">Opis (pkgdesc)</label>
 <input name="pkgdesc" value="{{ data.get('pkgdesc','') }}" placeholder="Krótki opis pakietu" required maxlength="300" style="width:100%"></div>
 <div><label style="font-size:0.85rem">URL projektu</label>
 <input name="url" value="{{ data.get('url','') }}" placeholder="https://..." required style="width:100%"></div>
 <div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.6rem">
 <div><label style="font-size:0.85rem">Kategoria</label>
 <select name="category" style="width:100%">
 {% for c in cats %}<option value="{{ c }}" {% if data.get('category')==c %}selected{% endif %}>{{ c }}</option>{% endfor %}
 </select></div>
 <div><label style="font-size:0.85rem">pkgrel</label>
 <input name="pkgrel" value="{{ data.get('pkgrel','1') }}" style="width:100%"></div>
 <div><label style="font-size:0.85rem">Licencja (przecinkami)</label>
 <input name="license" value="{{ data.get('license','') }}" placeholder="GPL-3.0-or-later, MIT" style="width:100%"></div>
 </div>
 <div style="display:grid;grid-template-columns:1fr 1fr;gap:0.6rem">
 <div><label style="font-size:0.85rem">depends (przecinkami)</label>
 <input name="depends" value="{{ data.get('depends','') }}" placeholder="glibc, glib" style="width:100%"></div>
 <div><label style="font-size:0.85rem">makedepends (przecinkami)</label>
 <input name="makedepends" value="{{ data.get('makedepends','') }}" placeholder="gcc, make, meson" style="width:100%"></div>
 </div>
 <div><label style="font-size:0.85rem">Źródła (source) — jeden URL na linię, możesz użyć ${pkgver}</label>
 <textarea name="source" rows="2" placeholder="https://example.com/abc-${pkgver}.tar.gz" style="width:100%;font-family:monospace">{{ data.get('source','') }}</textarea></div>
 <div><label style="font-size:0.85rem">sha256sums — jedna suma na linię (albo zostaw puste = SKIP)</label>
 <textarea name="sha256sums" rows="2" placeholder="(puste → pagsync --fix-sha uzupełni)" style="width:100%;font-family:monospace">{{ data.get('sha256sums','') }}</textarea></div>
 <div><label style="font-size:0.85rem">Faza build (polecenia shell, wykonywane w chroot w /tmp/src)</label>
 <textarea name="build" rows="6" placeholder="cd &quot;abc-${pkgver}&quot;&#10;./configure --prefix=/usr&#10;make -j$(nproc)" required style="width:100%;font-family:monospace">{{ data.get('build','') }}</textarea></div>
 <div><label style="font-size:0.85rem">Faza package (instalacja do ${PKGDIR})</label>
 <textarea name="package" rows="6" placeholder="cd &quot;abc-${pkgver}&quot;&#10;make DESTDIR=&quot;${PKGDIR}&quot; install" required style="width:100%;font-family:monospace">{{ data.get('package','') }}</textarea></div>
 <label style="display:flex;gap:0.5rem;align-items:flex-start;font-size:0.85rem;color:var(--muted);cursor:pointer">
 <input type="checkbox" name="terms" required style="margin-top:0.2rem">
 <span>Akceptuję <strong>regulamin zgłaszania receptur</strong> (sekcja powyżej), w tym zapisy o prawach autorskich, licencjach oraz danych osobowych (RODO).</span>
 </label>
 <button class="btn btn-primary">Wyślij zgłoszenie</button>
 </form>
</div>
{% endblock %}