Summary: | pkg-config: упрощение начальной (bootstrap) сборки | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Alexey Sheplyakov <asheplyakov> | ||||
Component: | pkg-config | Assignee: | placeholder <placeholder> | ||||
Status: | NEW --- | QA Contact: | qa-sisyphus | ||||
Severity: | enhancement | ||||||
Priority: | P5 | CC: | at, glebfm, iv, ldv, nir, placeholder, sin | ||||
Version: | unstable | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Bug Depends on: | 45727 | ||||||
Bug Blocks: | 45802 | ||||||
Attachments: |
|
С приложенными патчами собрано задание 317766. По непонятным причинам оно сломалось на arm: https://git.altlinux.org/tasks/317766/logs/events.2.1.log Очень странно, поскольку сборка по умолчанию не включает --enable=bootstrap $ compare_packages -- Sisyphus/files/armh/RPMS/pkg-config-0.29.2-alt3.armh.rpm -- tasks/317766/build/200/armh/rpms/pkg-config-0.29.2-alt4.armh.rpm [...] @@ -1,5 +1,5 @@ -rw-r--r-- root root , /etc/buildreqs/files/ignore.d/pkg-config --rwxr-xr-x root root , /usr/bin/armh-alt-linux-gnueabi-pkg-config +-rwxr-xr-x root root , /usr/bin/armv7l-alt-linux-gnueabi-pkg-config -rwxr-xr-x root root , /usr/bin/pkg-config drwxr-xr-x root root , /usr/lib/pkgconfig -rw-r--r-- root root , /usr/lib/rpm/pkg-config-files.req.list (In reply to Dmitry V. Levin from comment #2) > $ compare_packages -- > Sisyphus/files/armh/RPMS/pkg-config-0.29.2-alt3.armh.rpm -- > tasks/317766/build/200/armh/rpms/pkg-config-0.29.2-alt4.armh.rpm > [...] > @@ -1,5 +1,5 @@ > -rw-r--r-- root root , /etc/buildreqs/files/ignore.d/pkg-config > --rwxr-xr-x root root , /usr/bin/armh-alt-linux-gnueabi-pkg-config > +-rwxr-xr-x root root , /usr/bin/armv7l-alt-linux-gnueabi-pkg-config > -rwxr-xr-x root root , /usr/bin/pkg-config > drwxr-xr-x root root , /usr/lib/pkgconfig > -rw-r--r-- root root , /usr/lib/rpm/pkg-config-files.req.list Интересно, конечно, что изменилось в Sisyphus/armh с предыдущей сборки, что привело к такому эффекту: $ grep gnueabi tasks/317766/build/200/armh/log |head -3 [00:00:14] + ./configure --build=armh-alt-linux-gnueabi --host=armh-alt-linux-gnueabi --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib --localstatedir=/var/lib --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-dependency-tracking --disable-silent-rules --without-included-gettext --docdir=/usr/share/doc/pkg-config-0.29.2 --without-internal-glib --disable-silent-rules [00:00:14] checking build system type... armv7l-alt-linux-gnueabi [00:00:14] checking host system type... armv7l-alt-linux-gnueabi По коммитами у меня есть только косметические замечания: 1. commit message: -which which requires python, which requires OpenSSL, readline, +which requires python, which in turn requires OpenSSL, readline, 2. commit message: -Simplified the bootstrap sequence +spec: simplify the bootstrap sequence 3. commit message: -Added ... +Add ... 4. %changelog, commit message: -- Simplified the bootstrap sequence +- Simplified the bootstrap sequence. (Ответ для Dmitry V. Levin на комментарий #4) > По коммитами у меня есть только косметические замечания: > > 1. commit message: > -which which requires python, which requires OpenSSL, readline, > +which requires python, which in turn requires OpenSSL, readline, Принято. > 2. commit message: > -Simplified the bootstrap sequence > +spec: simplify the bootstrap sequence Это не вполне верно, изменения затрагивают не только spec, но и glib (поставляемую с pkg-config): добавлена функция g_hash_table_get_keys_as_array > 3. commit message: > -Added ... > +Add ... Принято. > 4. %changelog, commit message: > -- Simplified the bootstrap sequence > +- Simplified the bootstrap sequence. Принято. Я думаю, что если добавить rebuild тех пакетов, у которых образуются unmet'ы на armh, то задание соберётся. Можно ещё автозакрывание ALT#45707 добавить в %changelog. (Ответ для Dmitry V. Levin на комментарий #3) > (In reply to Dmitry V. Levin from comment #2) > > $ compare_packages -- > > Sisyphus/files/armh/RPMS/pkg-config-0.29.2-alt3.armh.rpm -- > > tasks/317766/build/200/armh/rpms/pkg-config-0.29.2-alt4.armh.rpm > > [...] > > @@ -1,5 +1,5 @@ > > -rw-r--r-- root root , /etc/buildreqs/files/ignore.d/pkg-config > > --rwxr-xr-x root root , /usr/bin/armh-alt-linux-gnueabi-pkg-config > > +-rwxr-xr-x root root , /usr/bin/armv7l-alt-linux-gnueabi-pkg-config > > -rwxr-xr-x root root , /usr/bin/pkg-config > > drwxr-xr-x root root , /usr/lib/pkgconfig > > -rw-r--r-- root root , /usr/lib/rpm/pkg-config-files.req.list > > Интересно, конечно, что изменилось в Sisyphus/armh с предыдущей сборки, > что привело к такому эффекту: > > $ grep gnueabi tasks/317766/build/200/armh/log |head -3 > [00:00:14] + ./configure --build=armh-alt-linux-gnueabi > --host=armh-alt-linux-gnueabi --prefix=/usr --exec-prefix=/usr > --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share > --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/lib > --localstatedir=/var/lib --sharedstatedir=/var/lib --mandir=/usr/share/man > --infodir=/usr/share/info --disable-dependency-tracking > --disable-silent-rules --without-included-gettext > --docdir=/usr/share/doc/pkg-config-0.29.2 --without-internal-glib > --disable-silent-rules > [00:00:14] checking build system type... armv7l-alt-linux-gnueabi > [00:00:14] checking host system type... armv7l-alt-linux-gnueabi Завёл на эту тему https://bugzilla.altlinux.org/45727, предлагаю обсуждать этот (без сомнения важный) вопрос там. (In reply to Dmitry V. Levin from comment #6) > Я думаю, что если добавить rebuild тех пакетов, у которых образуются unmet'ы > на armh, то задание соберётся. Я предлагаю так и сделать, просто пересобрать эти 2 пакета. |
Created attachment 12851 [details] Архив с патчами Для сборки pkg-config требуется glib2, а для glib2 - pkg-config (даже для того, чтобы просто rpm-build смог разобрать spec), meson, python3 (и далее по списку OpenSSL, libffi, pcre2, libmpdec, и прочие). Это сильно усложняет изначальную (bootstrap) сборку. Для упрощения предлагается использовать копию glib, поставляемую вместе с pkg-config, и добавить опцию bootstrap (по умолчанию отключена) в spec.