LINUX.ORG.RU

rpmbuild: error: No file attributes configured

 , ,


0

1

Всем привет!

Так получилось, что волею судеб мне пришлось удалить rpm и все связанные с ним файлы с компа. Теперь надо бы восстановить. Делал

sudo apt-get install rpm
Файлы rpmrc и macros скопировал с другого компа, похожей конфигурации. Но все равно rpmbuild «не видит» макрос %defattr(-,root,root,-) в spec-файле. Ранее по этим spec-файлам все собиралось ОК.

OS: Ubuntu 12.04

rpm: 4.9.1.1

Я далеко на гуру в rpm. Гугл пока никак не помогает... Куда копать?...

Не, дело не в этом оказалось....

Помог вот этот кусок кода...

...
static int initAttrs(rpmfc fc)
{
    ARGV_t files = NULL;
    char * attrPath = rpmExpand("%{_fileattrsdir}/*.attr", NULL);
    int nattrs = 0;

    /* Discover known attributes from pathnames + initialize them */
    if (rpmGlob(attrPath, NULL, &files) == 0) {
        nattrs = argvCount(files);
        fc->atypes = xcalloc(nattrs + 1, sizeof(*fc->atypes));
        for (int i = 0; i < nattrs; i++) {
            char *bn = basename(files[i]);
            bn[strlen(bn)-strlen(".attr")] = '\0';
            fc->atypes[i] = rpmfcAttrNew(bn);
        }
        fc->atypes[nattrs] = NULL;
        argvFree(files);
    }
    free(attrPath);
    return nattrs;
}

rpmRC rpmfcClassify(rpmfc fc, ARGV_t argv, rpm_mode_t * fmode)
{
    ARGV_t fcav = NULL;
    int msflags = MAGIC_CHECK | MAGIC_COMPRESS | MAGIC_NO_CHECK_TOKENS;
    magic_t ms = NULL;
    rpmRC rc = RPMRC_FAIL;

    if (fc == NULL) {
        rpmlog(RPMLOG_ERR, _("Empty file classifier\n"));
        goto exit;
    }

    /* It is OK when we have no files to classify. */
    if (argv == NULL)
        return RPMRC_OK;

    if (initAttrs(fc) < 1) {
        rpmlog(RPMLOG_ERR, _("No file attributes configured\n"));
        goto exit;
    }
...

Dennis7 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.