From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:message-id:date:user-agent:mime-version :content-language; bh=MlMr6DBJgZG6nhAdTJW1ee8jW0bqij7EqRHrkAPciIU=; b=UlxWGXunGdMAiHkWSZAan9/GIm6tuu+ig601S74SqF5woa+RTWDrUm0uGlMv3EWR+y 2qwV7rA2gJwZZuTQCgbFLNVxAK8uETBXYVvQhStpKiPJjA8RETkPm1OlNol6Ta9cyUpO YHZtrKnNSV02ohC/wR3RgizfzVu7OqT1Y152knIV8J6Sn2gUU7UteVPfeVfcYy2soMrJ RVWgjutWHk38mkDH+GHR7GCDahp4om6mppZLT2sqMeJJFHhcxjaCVGSWkHEyb/TIg8JE tojLXLgNlY4/6SfWIL4Ef1GSECY9rSbz8sm8bZMfxdAyCP7wNttjYwKiz8lYC3YSkagI pIZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version:content-language; bh=MlMr6DBJgZG6nhAdTJW1ee8jW0bqij7EqRHrkAPciIU=; b=pciMPASaUqnDPeYb1vH7HneJQ8t9xhoaaCyAs6fQP+0z845Ukz1OQzR1ng4cGSz3pf sNLL6v1JBl2Eo9UYO5Ww6fRUAHXx0Bhn62uI1wBq3vWzVc3hADqblBlfzLN387cwjmNj Pw10iL52Pj6pQKiuV4eO7BytxrsVcOLePggidlIwRCchOElDX00tJSI+JrHddwA7QGJ9 QZIgzAYvR7eIa2PtVxsuCUKg0b6UVNf0HXcYGoNzfv8ccODN45pap9WXG3NI8Hz/VNvY otsIqv9Hfx6D2DntkCXdbejzBgIbqmwnGNEh+8NIrDNElQgCjN3IZUmkoSKlK/NtlNPx cGuQ== X-Gm-Message-State: APjAAAWS3gfmoMGtCDogKPM40ae3+L5pr0qCVNREOpSd9ES6Vk4zVYh7 GtHnhtTuHCBhx1t2cXyGMFodYCX7 X-Google-Smtp-Source: APXvYqwTv7Xblo1XDZ9bkl+SpzdGpsrQU7vhWQTG/8s7Q9VB0I+vBoOshFW81nZfYwWsVZL6QKpYYw== X-Received: by 2002:a2e:3a1a:: with SMTP id h26mr15234484lja.156.1559608634434; Mon, 03 Jun 2019 17:37:14 -0700 (PDT) From: Leonid Krivoshein To: ALT Linux Team development discussions Message-ID: Date: Tue, 4 Jun 2019 03:34:26 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------5FFFFF53F26FE4D963B66192" Content-Language: ru Subject: [devel] os-release / lsb_release / VENDOR-release X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jun 2019 00:37:17 -0000 Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------5FFFFF53F26FE4D963B66192 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Всем привет! Три вопроса к знатокам по методике определения Linux-дистрибутива, в котором сейчас работает скрипт: 1) Это правда, что LSB-метод (lsb_release) не так широко распространён и теперь уступает freedesktop'ному парсингу файла /etc/os-release? Критика LSB в этой рассылке уже имела место несколько лет назад. Но альтернатив тогда не предлагалось, де-факто стандарт нами не поддерживается (пакет отсутствует в системе сразу после установки, на него нет зависимости в basesystem/interactivesystem). 2) Как вы считаете, какой идентификатор (ID, DISTRIB_ID) должен быть у наших систем -- "alt" или "altlinux"? Дело в том, что LSB считает нас как "alt". Тогда как два других метода -- "altlinux". Пояснение в прилагаемом скрипте. 3) Если исключить экзотику, типа разбора /proc/version или имени файла ядра, есть ли хорошие примеры кода, надёжно определяющего текущий дистрибутив Linux? -- Best regards, Leonid Krivoshein. --------------5FFFFF53F26FE4D963B66192 Content-Type: text/plain; charset=UTF-8; name="detect_linux_distro" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="detect_linux_distro" IyEvYmluL3NoIC1lZnUKIyMjIFRoaXMgZmlsZSBpcyBjb3ZlcmVkIGJ5IHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQojIyMgdmVyc2lvbiAyIG9yIGxhdGVyLgojIyMKIyMjIENv cHlyaWdodCAoQykgMjAxOSwgQUxUIExpbnV4IFRlYW0KIyMjIEF1dGhvcjogTGVvbmlkIEty aXZvc2hlaW4gPGtsYXJrQGFsdGxpbnV4Lm9yZz4KCiMjIyBMaW51eCBkaXN0cmlidXRpb24g ZGV0ZWN0b3IKCmRldGVjdF9saW51eF9kaXN0cm8oKSB7Cglsb2NhbCBhPSBiPSBjPSBmaWxl bmFtZT0gaWR2YXI9IiQxIgoJbG9jYWwgcD0gbmFtZXZhcj0iJHsyLX0iIHJvb3Rmcz0iJHsz LX0iCgoJaWYgWyAiJHtfX2RlcGxveV9kZXRlY3RfbGludXhfZGlzdHJvX2luY2x1ZGVkLX0i ICE9ICIyIiBdOyB0aGVuCgkJX19kZXBsb3lfZGV0ZWN0X2xpbnV4X2Rpc3Ryb19pbmNsdWRl ZD0yCgoJCSMgcGFyc2Ugc2luZ2xlIC9ldGMvPFJFTEVBU0U+IGZpbGUgKCRwKQoJCSMgdG8g RElTVFJPIElEICgkYSkgYW5kIERFU0NSSVBUSU9OICgkYikKCQkjCgkJX19wYXJzZV9saW51 eF9yZWxlYXNlX2ZpbGUoKSB7CgkJCWlmIGdyZXAgLXFFIF5QUkVUVFlfTkFNRT0gIiRwIjsg dGhlbgoJCQkJYj0iJChncmVwIC1zRSBeUFJFVFRZX05BTUU9ICIkcCIpIgoJCQkJYj0iJCh1 bnF1b3RlICIke2I6MTJ9IikiCgkJCWVsaWYgZ3JlcCAtcUUgXk5BTUU9ICIkcCIgJiYgZ3Jl cCAtcUUgXlZFUlNJT049ICIkcCI7IHRoZW4KCQkJCWI9IiQoZ3JlcCAtc0UgXk5BTUU9ICIk cCIpIgoJCQkJYj0iJCh1bnF1b3RlICIke2I6NX0iKSIKCQkJCWlmIFsgLW4gIiRiIiBdOyB0 aGVuCgkJCQkJYz0iJChncmVwIC1zRSBeVkVSU0lPTj0gIiRwIikiCgkJCQkJYz0iJCh1bnF1 b3RlICIke2M6OH0iKSIKCQkJCQlbIC16ICIkYyIgXSB8fCBiPSIkYiAkYyIKCQkJCWZpCgkJ CWZpCgkJCVsgLW4gIiRiIiBdIHx8IHJldHVybiAwCgkJCWlmIGdyZXAgLXFFIF5JRD0gIiRw IjsgdGhlbgoJCQkJYT0iJChncmVwIC1zRSBeSUQ9ICIkcCIpIgoJCQkJYT0iJCh1bnF1b3Rl ICIke2E6M30iKSIKCQkJZWxpZiBncmVwIC1xRSBeTkFNRT0gIiRwIjsgdGhlbgoJCQkJYT0i JChncmVwIC1zRSBeTkFNRT0gIiRwIikiOyBhPSIkKHVucXVvdGUgIiR7YTo1fSIpIgoJCQkJ YT0iJChlY2hvICIke2ElICp9IiB8dHIgJ1tbOnVwcGVyOl1dJyAnW1s6bG93ZXI6XV0nKSIK CQkJZmkKCQkJWyAtbiAiJGEiIF0gfHwgYj0KCQl9CgoJCSMgbW9kZXJuIGZyZWVkZXNrdG9w Lm9yZyBzdGFuZGFyZAoJCV9fZGV0ZWN0X2Rpc3Ryb19ieV9vc19yZWxlYXNlKCkgewoJCQlm b3IgZmlsZW5hbWUgaW4gL2V0Yy9vcy1yZWxlYXNlIFwKCQkJCQkvbGliL29zLXJlbGVhc2Ug XAoJCQkJCS91c3IvbGliL29zLXJlbGVhc2UKCQkJZG8KCQkJCXA9IiRyb290ZnMkZmlsZW5h bWUiCgkJCQlbIC1yICIkcCIgXSB8fCBjb250aW51ZQoJCQkJX19wYXJzZV9saW51eF9yZWxl YXNlX2ZpbGUKCQkJCVsgLXogIiRhIiBdIHx8IHJldHVybiAwCgkJCWRvbmUKCgkJCXJldHVy biAxCgkJfQoKCQkjIGFsc28gd2VsbC1rbm93biwgYnV0IG5vdCB2ZXJ5IGNvbW1vbiBhbmQK CQkjIHNsdWdnaXNobHkgc3VwcG9ydGVkICJMaW51eCBTdGFuZGFyZCBCYXNlIgoJCSMgbHNi X3JlbGVhc2UgY29tbWFuZCBvciAvZXRjL2xzYi1yZWxlYXNlIGZpbGUKCQkjIChDaGFrcmEs IElZQ0MsIEFyY2ggTGludXgsIExpbnV4IE1pbnQsIFVidW50dSwKCQkjIEVsZW1lbnRhcnkg T1MsIE1hbmphcm8gTGludXgsIGV0Yy4uLikKCQkjCgkJX19kZXRlY3RfZGlzdHJvX2J5X2xz Yl9yZWxlYXNlKCkgewoJCQlbIC1uICIkcm9vdGZzIiBdICYmIGM9IiIgfHwKCQkJCWM9IiQo Y29tbWFuZCAtdiBsc2JfcmVsZWFzZSAyPi9kZXYvbnVsbCB8fDopIgoJCQlpZiBbIC14ICIk YyIgXTsgdGhlbgoJCQkJYT0iJCgkYyAtc2kgMj4vZGV2L251bGwgfAoJCQkJCXRyICdbWzp1 cHBlcjpdXScgJ1tbOmxvd2VyOl1dJykiCgkJCQlhPSIkKHVucXVvdGUgIiRhIikiCgkJCQlp ZiBbIC1uICIkYSIgXTsgdGhlbgoJCQkJCWI9IiQoJGMgLXNkIDI+L2Rldi9udWxsIHx8Oiki CgkJCQkJYj0iJCh1bnF1b3RlICIkYiIpIgoJCQkJCVsgLW4gIiRiIiBdICYmIHJldHVybiAw IHx8IGE9CgkJCQlmaQoJCQlmaQoJCQlwPSIkcm9vdGZzL2V0Yy9sc2ItcmVsZWFzZSIKCQkJ WyAtciAiJHAiIF0gfHwgcmV0dXJuIDEKCQkJZ3JlcCAtcUUgXkRJU1RSSUJfSUQ9ICIkcCIg fHwgcmV0dXJuIDEKCQkJZ3JlcCAtcUUgXkRJU1RSSUJfREVTQ1JJUFRJT049ICIkcCIgfHwg cmV0dXJuIDEKCQkJYj0iJChncmVwIC1zRSBeRElTVFJJQl9ERVNDUklQVElPTj0gIiRwIiki CgkJCWI9IiQodW5xdW90ZSAiJHtiOjIwfSIpIgoJCQlbIC1uICIkYiIgXSB8fCByZXR1cm4g MQoJCQlhPSIkKGdyZXAgLXNFIF5ESVNUUklCX0lEPSAiJHAiIHwKCQkJCXRyICdbWzp1cHBl cjpdXScgJ1tbOmxvd2VyOl1dJykiCgkJCWE9IiQodW5xdW90ZSAiJHthOjExfSIpIgoJCQlb IC1uICIkYSIgXSAmJiByZXR1cm4gMCB8fCBiPQoKCQkJcmV0dXJuIDEKCQl9CgoJCSMgZmFs bGJhY2sgdG8gdGhlIG9sZCBkZXRlY3Rpb24gbWV0aG9kOiBwbGVhc2UsCgkJIyBkb24ndCBj aGVjayAvZXRjL29zLXJlbGVhc2UgYW5kIC9ldGMvbHNiLXJlbGVhc2UKCQkjIGZpbGVzIGhl cmUsIGFkZCB5b3VyIGRpc3Ryby1zcGVjaWZpYyBmaWxlIG5hbWVzLAoJCSMgaWYgbmVjZXNz YXJ5LCBidXQgb25seSBieSBzaW5nbGUgbmFtZSBwZXIgbGluZQoJCSMKCQlfX2RldGVjdF9k aXN0cm9fYnlfcmVsZWFzZV9maWxlcygpIHsKCQkJWyAtbiAiJHJvb3RmcyIgXSAmJiBjPSIi IHx8CgkJCQljPSIkKGNvbW1hbmQgLXYgaG9zdG5hbWVjdGwgMj4vZGV2L251bGwgfHw6KSIK CQkJWyAhIC14ICIkYyIgXSB8fCBjPSIkKCRjIDI+L2Rldi9udWxsIHwKCQkJCWdyZXAgLWkg J29wZXJhdGluZyBzeXN0ZW06JyB8CgkJCQlzZWQgJ3MsXi4qXDogLCwnKSIKCQkJZm9yIGZp bGVuYW1lIGluIFwKCQkJCWFscGluZS1yZWxlYXNlIFwKCQkJCWFsdGxpbnV4LXJlbGVhc2Ug XAoJCQkJYW5udml4LXJlbGVhc2UgXAoJCQkJYXJjaC1yZWxlYXNlIFwKCQkJCWFya2xpbnV4 LXJlbGVhc2UgXAoJCQkJYXVyb3gtcmVsZWFzZSBcCgkJCQlibGFja2NhdC1yZWxlYXNlIFwK CQkJCWNvYmFsdC1yZWxlYXNlIFwKCQkJCWNvbmVjdGl2YS1yZWxlYXNlIFwKCQkJCWVvcy12 ZXJzaW9uIFwKCQkJCWdlbnRvby1yZWxlYXNlIFwKCQkJCWhsZnMtcmVsZWFzZSBcCgkJCQlo bGZzX3ZlcnNpb24gXAoJCQkJaW1tdW5peC1yZWxlYXNlIFwKCQkJCWtub3BwaXhfdmVyc2lv biBcCgkJCQlsZnMtcmVsZWFzZSBcCgkJCQlsZnNfdmVyc2lvbiBcCgkJCQlsaW51eHBwYy1y ZWxlYXNlIFwKCQkJCW1hZ2VpYS1yZWxlYXNlIFwKCQkJCW1hbmRyYWtlLXJlbGVhc2UgXAoJ CQkJbWFuZHJpdmEtcmVsZWFzZSBcCgkJCQltYW5kYWtlbGludXgtcmVsZWFzZSBcCgkJCQlt a2xpbnV4LXJlbGVhc2UgXAoJCQkJbmxkLXJlbGVhc2UgXAoJCQkJb3BlbndydF92ZXJzaW9u IFwKCQkJCXBsZC1yZWxlYXNlIFwKCQkJCXJ1Yml4LXZlcnNpb24gXAoJCQkJc2xhY2t3YXJl LXZlcnNpb24gXAoJCQkJc2xhY2t3YXJlLXJlbGVhc2UgXAoJCQkJZS1zbWl0aC1yZWxlYXNl IFwKCQkJCXN1bi1yZWxlYXNlIFwKCQkJCVN1U0UtcmVsZWFzZSBcCgkJCQlub3ZlbGwtcmVs ZWFzZSBcCgkJCQlzbGVzLXJlbGVhc2UgXAoJCQkJc3lzdGVtLXJlbGVhc2UgXAoJCQkJdGlu eXNvZmEtcmVsZWFzZSBcCgkJCQl0cnVzdGl4LXJlbGVhc2UgXAoJCQkJdHJ1c3RpeC12ZXJz aW9uIFwKCQkJCXR1cmJvbGludXgtcmVsZWFzZSBcCgkJCQl1bHRyYXBlbmd1aW4tcmVsZWFz ZSBcCgkJCQlVbml0ZWRMaW51eC1yZWxlYXNlIFwKCQkJCXZhLXJlbGVhc2UgXAoJCQkJeWVs bG93ZG9nLXJlbGVhc2UgXAoJCQkJZmVkb3JhLXJlbGVhc2UgXAoJCQkJcmVkaGF0LXJlbGVh c2UgXAoJCQkJcmVkaGF0X3ZlcnNpb24gXAoJCQkJZGViaWFuX3ZlcnNpb24gXAoJCQkJZGVi aWFuX3JlbGVhc2UKCQkJZG8KCQkJCXA9IiRyb290ZnMvZXRjLyRmaWxlbmFtZSIKCQkJCVsg LXIgIiRwIiBdIHx8IGNvbnRpbnVlCgkJCQlhPSIkKGVjaG8gIiRmaWxlbmFtZSIgfAoJCQkJ CXNlZCAtcmUgJ3MsW19cLV0ocmVsZWFzZXx2ZXJzaW9uKSQsLCcgfAoJCQkJCXRyICdbWzp1 cHBlcjpdXScgJ1tbOmxvd2VyOl1dJykiCgkJCQliPSIkKGhlYWQgLW4xICIkcCIpIgoJCQkJ Y2FzZSAiJGEiIGluCgkJCQlzeXN0ZW0pCWE9ImFtYXpvbiI7OwoJCQkJZGViaWFuKQliPSJE ZWJpYW4gJGIiOzsKCQkJCWVzYWMKCQkJCVsgLW4gIiRiIiBdIHx8IGI9YwoJCQkJWyAtbiAi JGIiIF0gfHwgWyAteiAiJG5hbWV2YXIiIF0gfHwgcmV0dXJuIDEKCQkJCXJldHVybiAwCgkJ CWRvbmUKCgkJCSMgU3BlY2lhbCBjYXNlIGZvciBTeW5vbG9neQoJCQkjIC9ldGMvc3lub2lu Zm8uY29uZgoJCQkjIFRvRG86IC4uLgoKCQkJIyBTcGVjaWFsIGNhc2UgZm9yIFNvbGFyaXMg U1BBUkMgYW5kIFN1bmRyeSBMaW51eAoJCQkjIC9ldGMvcmVsZWFzZQoJCQkjIFRvRG86IC4u LgoKCQkJIyBTcGVjaWFsIGNhc2UgZm9yIE5peE9TCgkJCSMgL2V0Yy9OSVhPUwoJCQkjIFRv RG86IC4uLgoKCQkJcmV0dXJuIDEKCQl9CglmaSAjIF9fZGVwbG95X2RldGVjdF9saW51eF9k aXN0cm9faW5jbHVkZWQKCglfX2RldGVjdF9kaXN0cm9fYnlfb3NfcmVsZWFzZSB8fAoJX19k ZXRlY3RfZGlzdHJvX2J5X2xzYl9yZWxlYXNlIHx8CglfX2RldGVjdF9kaXN0cm9fYnlfcmVs ZWFzZV9maWxlcyB8fDoKCgkjIFJlcGxhY2VzCgljYXNlICIkYSIgaW4KCWFsdGxpbnV4KQlh PSJhbHQiOzsKCWVvcykJCWE9ImZyZWVlb3MiOzsKCWUtc21pdGgpCWE9ImVzbWl0aCI7OwoJ bWFuZGFrZWxpbnV4KQlhPSJtYW5kcmFrZSI7OwoJbmxkKQkJYT0ic3VzZSI7OwoJbm92ZWxs KQkJYT0ic3VzZSI7OwoJc2xlcykJCWE9InN1c2UiOzsKCXVuaXRlZGxpbnV4KQlhPSJ1bml0 ZWQiOzsKCXZhKQkJYT0icmh2YWxlIjs7Cgllc2FjCgoJWyAteiAiJG5hbWV2YXIiIF0gfHwK CQlldmFsICIkbmFtZXZhcj1cIiR7YjotVW5rbm93biBMaW51eH1cIiIKCWV2YWwgIiRpZHZh cj1cIiR7YTotdW5rbm93bn1cIiIKfQoK --------------5FFFFF53F26FE4D963B66192--