<commit_before>#ifndef _SPECP_H_
#define _SPECP_H_

#include "spec.h"
#include "header.h"
#include "stringbuf.h"

typedef struct sources {
    char *fullSource;
    char *source;
    int ispatch;
    int num;
    struct sources *next;
} *Sources;

struct ReqProv {
    int flags;
    char *name;
    char *version;
    struct ReqProv *next;
};

struct SpecRec {
    char *name;      /* package base name */
    char *specfile;
    int numSources;
    int numPatches;
    Sources sources;
    StringBuf prep;
    StringBuf build;
    StringBuf install;
    StringBuf doc;
    StringBuf clean;
    struct PackageRec *packages;
    /* The first package record is the "main" package and contains
     * the bulk of the preamble information.  Subsequent package
     * records "inherit" from the main record.  Note that the
     * "main" package may be, in pre-rpm-2.0 terms, a "subpackage".
     */
};

struct PackageRec {
    char *subname;   /* If both of these are NULL, then this is          */
    char *newname;   /* the main package.  subname concats with name     */
    Header header;
    char *icon;
    int files;       /* If -1, package has no files, and won't be written */
    char *fileFile;
    StringBuf filelist;
    StringBuf doc;   /* Used to buffer up %doc lines until fully parsed */<commit_msg>added stuff of nosrc packages<commit_after>#ifndef _SPECP_H_
#define _SPECP_H_

#include "spec.h"
#include "header.h"
#include "stringbuf.h"

typedef struct sources {
    char *fullSource;
    char *source;
    int ispatch;
    int num;
    struct sources *next;
} *Sources;

struct ReqProv {
    int flags;
    char *name;
    char *version;
    struct ReqProv *next;
};

struct SpecRec {
    char *name;      /* package base name */
    char *specfile;

    int numSources;
    int numPatches;
    Sources sources;

    int numNoSource;
    int numNoPatch;
    int_32 *noSource;
    int_32 *noPatch;

    StringBuf prep;
    StringBuf build;
    StringBuf install;
    StringBuf doc;
    StringBuf clean;

    struct PackageRec *packages;
    /* The first package record is the "main" package and contains
     * the bulk of the preamble information.  Subsequent package
     * records "inherit" from the main record.  Note that the
     * "main" package may be, in pre-rpm-2.0 terms, a "subpackage".
     */
};

struct PackageRec {
    char *subname;   /* If both of these are NULL, then this is          */
    char *newname;   /* the main package.  subname concats with name     */
    Header header;
    char *icon;
    int files;       /* If -1, package has no files, and won't be written */
    char *fileFile;
    StringBuf filelist;
    StringBuf doc;   /* Used to buffer up %doc lines until fully parsed */
{'fraction_non_alphanumeric': 0.08937728937728938, 'fraction_numerical': 0.003663003663003663, 'mean_word_length': 2.5238709677419355, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3338137', 'n_tokens_mistral': 858, 'n_tokens_neox': 839, 'n_words': 318}