abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Komunita

    Ubuntu 26.04 LTS bude (𝕏) Resolute Raccoon (rezolutní mýval).

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Nová verze

    Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    včera 20:11 | Komunita

    Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | IT novinky

    Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Nová verze Ladislav Hagara | Komentářů: 0
    5.10. 20:00 | Komunita

    Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.

    Ladislav Hagara | Komentářů: 0
    4.10. 15:22 | IT novinky

    Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.

    Ladislav Hagara | Komentářů: 34
    4.10. 05:22 | Komunita

    Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.

    Ladislav Hagara | Komentářů: 16
    3.10. 22:44 | IT novinky

    V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů

    … více »
    Ladislav Hagara | Komentářů: 10
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (45%)
     (15%)
     (17%)
     (22%)
     (15%)
     (18%)
     (16%)
     (15%)
    Celkem 181 hlasů
     Komentářů: 12, poslední 4.10. 20:35
    Rozcestník

    Dotaz: Rozbor Slackbuildu

    29.4.2020 11:29 Jack Hokus | skóre: 34 | blog: LostHeaven
    Rozbor Slackbuildu
    Přečteno: 863×
    Ahoj,

    nainstaloval jsem si Slackware a rád bych si k němu dodělal něco jako systém portů. Jako vzor jsem si vzal existující slackbuild. Nikdy jsem nic většího nenaprogramoval, proto Vás poprosím o pomoc s rozborem slackbuildu, který je v příloze.

    Tady se definují proměnné. Jediné, čemu nerozumím, je třetí řádka, odhaduju, že se tu pomocí toho sedu hledá ve zdrojovém kódu údaj o verzi.

    PRGNAM=openscad
    VERSION=${VERSION:-2015.03.3}
    SRCVER=${SRCVER:-$(echo $VERSION | sed 's/\./-/2')}
    BUILD=${BUILD:-1}
    TAG=${TAG:-_SBo}
    

    Tady se pomocí podmínky testuje architektura.

    if [ -z "$ARCH" ]; then
      case "$( uname -m )" in
        i?86) ARCH=i486 ;;
        arm*) ARCH=arm ;;
           *) ARCH=$( uname -m ) ;;
      esac
    fi
    

    Další definice proměnných, které definují adresáře, které budou použity při tvorbě balíčku. Je tu definovaná proměnná arch, která bude použita později?

    CWD=$(pwd)
    TMP=${TMP:-/tmp/SBo}
    PKG=$TMP/package-$PRGNAM
    OUTPUT=${OUTPUT:-/tmp}
    

    Tady probíhá série porovnávání, za účelem zjištění architektury procesouru.

    if [ "$ARCH" = "i486" ]; then
      SLKCFLAGS="-O2 -march=i486 -mtune=i686"
      LIBDIRSUFFIX=""
    elif [ "$ARCH" = "i686" ]; then
      SLKCFLAGS="-O2 -march=i686 -mtune=i686"
      LIBDIRSUFFIX=""
    elif [ "$ARCH" = "x86_64" ]; then
      SLKCFLAGS="-O2 -fPIC"
      LIBDIRSUFFIX="64"
    else
      SLKCFLAGS="-O2"
      LIBDIRSUFFIX=""
    fi
    

    Tady se pravděpodobně mažou některé proměnné a adresáře, které byly předtím vytvořeny. Pak se rozbaluje zdrojový kód a nastavují práva

    set -e
    
    rm -rf $PKG
    mkdir -p $TMP $PKG $OUTPUT
    cd $TMP
    rm -rf $PRGNAM-$SRCVER
    tar xvf $CWD/$PRGNAM-$SRCVER.src.tar.gz
    cd $PRGNAM-$SRCVER
    chown -R root:root .
    find -L . \
     \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
     -exec chmod 755 {} \; -o \
     \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
     -exec chmod 644 {} \;
    
    http://www.jackhokus.cz/

    Odpovědi

    29.4.2020 12:14 .
    Rozbalit Rozbalit vše Re: Rozbor Slackbuildu
    Tady se definují proměnné. Jediné, čemu nerozumím, je třetí řádka, odhaduju, že se tu pomocí toho sedu hledá ve zdrojovém kódu údaj o verzi.
    Výraz ${A:-B} má hodnotu A pokud ta je definovaná/neprázdná, jinak má hodnotu B. Výraz $() zachytí výstup příkazu a ten je pak jeho hodnotou. Příkaz echo vypíše obsah proměnné $VERSION (definované o řádek výše) a sed v něm nahradí druhou tečku pomlčkou (mínusem). Takže pokud je $SRCVER definovaná tak se nezmění, jinak se vygeneruje podle $VERSION.

    Tady se pomocí podmínky testuje architektura.
    Pokud je proměnná $ARCH prázdná, tak se nastaví podle výstupu příkazu uname -m.
    Další definice proměnných, které definují adresáře, které budou použity při tvorbě balíčku. Je tu definovaná proměnná arch, která bude použita později?
    Já ji tam nevidím.
    Tady probíhá série porovnávání, za účelem zjištění architektury procesouru.
    Podle toho jakou hodnotu má proměnná $ARCH se nastaví hodnoty proměnným $SLKCFLAGS a $LIBDIRSUFFIX.
    Tady se pravděpodobně mažou některé proměnné a adresáře, které byly předtím vytvořeny. Pak se rozbaluje zdrojový kód a nastavují práva
    rm mazání, mkdir vytvoření adresáře, cd měna aktuálního adresáře, tar komprese, chown změna vlastníka, find vyhledání souborů (s danými přístupovými právy) a chmod pro změnu práv.

    Nastartuj man a pročti témata k jednotlivým příkazům.
    Gréta avatar 29.4.2020 12:38 Gréta | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Rozbor Slackbuildu

    táááákže natom třetím řádečku se nejdřiv výstup příkazu echo $VERSION jakoby strčí trubičkou | do příkazu sed. tamten argument příkazu sed se jakoby člení na takový tři kousky s/regulární výraz/čim nahrazuju/flags a v tomdletom konkrétním případě se najdou všecky tečky v tom stringu 2015.03.3 chceme je nahrazovat znakem pomlčky ale tim flagem nakonci řikáme že platí pouze pro druhej výskyt. nóóó takže jakoby dostanem z tamtoho stringu tohleto 2015.03-3 a nakonec to strčíme do proměný SRCVER.

    tady něco málo k trubičkám hele tady k sedu hele a nemam vyzkoušený ale možná byse ti mohlo hodit dozačátku todleto 'ide' na dělání se sedem hele :O ;D

    proměná arch neni definová tam ale už v tamton ifu s casem. nejdřiv se ten if koukne tim argumentem -z jestli je string nulovej respektive jestli jakoby má nulovou dýlku hele.nóó a když jako jóóó se vezme výstup příkazu uname -m kterej vrací 'machine hardware name' (to sem si našla v manuálu příkazem man uname. šipkama se posouváš a vylezeš z toho máčknutím 'q' ;D) a hledá se vodpovídající pattern a podle toho je ta arch deklarovaná. hele jak case jako funguje ;D

    3.5.2020 15:18 Bubak | skóre: 16 | blog: Čtvrtá cenová
    Rozbalit Rozbalit vše Re: Rozbor Slackbuildu
    Hele, co začít tady?

    Případně tady?
    ... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
    5.5.2020 19:56 Martin Matějek | skóre: 12 | blog: Flying_circus | Kladno
    Rozbalit Rozbalit vše Re: Rozbor Slackbuildu

    nainstaloval jsem si Slackware a rád bych si k němu dodělal něco jako systém portů.

    Není to úplně přesně na co se ptáš, ale koukal jsi na pkgsrc?
    Don't judge me by the friends I keep. No, no, no. Judge me by the enemies I have slain!
    7.5.2020 08:42 chleba namazanej indulonou
    Rozbalit Rozbalit vše Re: Rozbor Slackbuildu
    slackpkg - aktualizace Slackware balíků

    sbopkg - instalace software ze https://slackbuilds.org/

    slackpkg update

    slackpkg install-new

    slackpkg upgrade-all

    lilo

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.