Re: [pacman-dev] [PATCH] Add `build/` to gitignore

2020-12-14 Thread Colin Woodbury
Thank Eli, I'll keep an eye out for 0.57. Yup, this patch can be sent to the 
dustbin. 

Cheers,
Colin

On Sun, 13 Dec 2020, at 20:42, Eli Schwartz wrote:
> On 12/13/20 5:17 PM, Colin Woodbury wrote:
> > And now it's merged! :)
> Indeed, thanks for the prodding on this mailing list which made it 
> happen. meson 0.57 will automatically ignore configured build directories.
> 
> Hence, this proposed patch is obsolete.
> 
> -- 
> Eli Schwartz
> Bug Wrangler and Trusted User
> 
> 
> 
> *Attachments:*
>  * OpenPGP_signature


Re: [pacman-dev] [PATCH] Add `build/` to gitignore

2020-12-13 Thread Colin Woodbury
And now it's merged! :)

On Sat, 12 Dec 2020, at 17:01, Eli Schwartz wrote:
> On 12/10/20 9:12 PM, Colin Woodbury wrote:
> > Right, having `meson` do it automatically would work well. I put
> > forth the patch in the first place because the instructions on the
> > Pacman website (master branch), if followed, place the artifacts in
> > `build/`. Other newcomers to the project like me would hit the same
> > thing, so some automated solution would be nice.
> > 
> > Is there anything we can do to move that `meson` proposal forward,
> > other than complaining loudly? ;)
> 
> https://github.com/mesonbuild/meson/pull/8092
> 
> The proposal is getting traction. :D
> 
> -- 
> Eli Schwartz
> Bug Wrangler and Trusted User
> 
> 
> 
> *Attachments:*
>  * OpenPGP_signature


Re: [pacman-dev] [PATCH] Add `build/` to gitignore

2020-12-10 Thread Colin Woodbury
Right, having `meson` do it automatically would work well. I put forth the 
patch in the first place because the instructions on the Pacman website (master 
branch), if followed, place the artifacts in `build/`. Other newcomers to the 
project like me would hit the same thing, so some automated solution would be 
nice.

Is there anything we can do to move that `meson` proposal forward, other than 
complaining loudly? ;)

Colin

On Thu, 10 Dec 2020, at 17:42, Eli Schwartz wrote:
> On 12/9/20 2:14 PM, Colin Woodbury wrote:
> > Since it's a transient directory for build artifacts, nothing in there will 
> > ever
> > been committed. Ignoring it also makes IDEs happier during file search.
> > 
> > Signed-off-by: Colin Woodbury 
> > ---
> >   .gitignore | 1 +
> >   1 file changed, 1 insertion(+)
> > 
> > diff --git a/.gitignore b/.gitignore
> > index 01975fd2..638dfe39 100644
> > --- a/.gitignore
> > +++ b/.gitignore
> > @@ -1,3 +1,4 @@
> >   *~
> >   *.o
> >   pacman-*.tar.gz
> > +build/*
> 
> I use builddir/ (and upstream usually recommends that these days since 
> it's less likely to confuse "meson builddir" as a subcommand, compared 
> to "meson build").
> 
> This is kind of the problem with trying to ignore a directory that isn't 
> canonical.
> 
> Instead, I'd prefer to argue upstream in favor of 
> https://github.com/mesonbuild/meson/issues/6509
> 
> -- 
> Eli Schwartz
> Bug Wrangler and Trusted User
> 
> 
> 
> *Attachments:*
>  * OpenPGP_signature


Re: [pacman-dev] [PATCH 03/23] doc: document error

2020-12-09 Thread Colin Woodbury


> +/** A package
> 
> 
> 
> 
> + *
> + * A package can be loaded from disk via \link alpm_pkg_load \endlink or 
> retrieved from a database.
> + * Packages from databases are automatically freed when the database is 
> unregistered. Packages loaded
> + * from a file must be freed manually.
> + *
> + * Packages can then be queried for metadata or added to a \link 
> alpm_trans_t transaction \endlink
> + * to be added or removed from the system.
> + */
> typedef struct __alpm_pkg_t alpm_pkg_t;
> +
> +/** Transaction structure used internally by libalpm */
> typedef struct __alpm_trans_t alpm_trans_t;
>  
> -/** @addtogroup alpm_api_errors Error Codes
> +
> +/** @addtogroup alpm_api ALPM
> + * @brief The libalpm Public API
> + * @{
> + */
> +
> +/** @addtogroup alpm_errors Error Codes
> + * Error codes returned by libalpm.
>   * @{
>   */
> +
> +/** libalpm's error type */
> typedef enum _alpm_errno_t {
> + /** No error */
> ALPM_ERR_OK = 0,
> + /** Failed to allocate memory */
> ALPM_ERR_MEMORY,
> + /** A system error occurred */
> ALPM_ERR_SYSTEM,
> + /** Permmision denied */
> ALPM_ERR_BADPERMS,
> + /** Should be a file */
> ALPM_ERR_NOT_A_FILE,
> + /** Should be a directory */
> ALPM_ERR_NOT_A_DIR,
> + /** Function was called with invalid arguments */
> ALPM_ERR_WRONG_ARGS,
> + /** Insufficient disk space */
> ALPM_ERR_DISK_SPACE,
> /* Interface */
> + /** Handle should be null */
> ALPM_ERR_HANDLE_NULL,
> + /** Handle should not be null */
> ALPM_ERR_HANDLE_NOT_NULL,
> + /** Failed to acquire lock */
> ALPM_ERR_HANDLE_LOCK,
> /* Databases */
> + /** Failed to open database */
> ALPM_ERR_DB_OPEN,
> + /** Failed to create database */
> ALPM_ERR_DB_CREATE,
> + /** Database should not be null */
> ALPM_ERR_DB_NULL,
> + /** Database should be null */
> ALPM_ERR_DB_NOT_NULL,
> + /** The database could not be found */
> ALPM_ERR_DB_NOT_FOUND,
> + /** Database is invalid */
> ALPM_ERR_DB_INVALID,
> + /** Database has an invalid signature */
> ALPM_ERR_DB_INVALID_SIG,
> + /** The localdb is in a newer/older format than libalpm expects */
> ALPM_ERR_DB_VERSION,
> + /** Failed to write to the database */
> ALPM_ERR_DB_WRITE,
> + /** Failed to remove entry from database */
> ALPM_ERR_DB_REMOVE,
> /* Servers */
> + /** Server URL is in an invalid format */
> ALPM_ERR_SERVER_BAD_URL,
> + /** The database has no configured servers */
> ALPM_ERR_SERVER_NONE,
> /* Transactions */
> + /** A transaction is already initialized */
> ALPM_ERR_TRANS_NOT_NULL,
> + /** A transaction has not been initialized */
> ALPM_ERR_TRANS_NULL,
> + /** Duplicate target in transaction */
> ALPM_ERR_TRANS_DUP_TARGET,
> + /** A transaction has not been initialized */
> ALPM_ERR_TRANS_NOT_INITIALIZED,
> + /** Transaction has not been prepared */
> ALPM_ERR_TRANS_NOT_PREPARED,
> + /** Transaction was aborted */
> ALPM_ERR_TRANS_ABORT,
> + /** Failed to interrupt transaction */
> ALPM_ERR_TRANS_TYPE,
> + /** Tried to commit transaction without locking the database */
> ALPM_ERR_TRANS_NOT_LOCKED,
> + /** A hook failed to run */
> ALPM_ERR_TRANS_HOOK_FAILED,
> /* Packages */
> + /** Package not found */
> ALPM_ERR_PKG_NOT_FOUND,
> + /** Package is in ignorepkg */
> ALPM_ERR_PKG_IGNORED,
> + /** Package is invalid */
> ALPM_ERR_PKG_INVALID,
> + /** Package has an invalid checksum */
> ALPM_ERR_PKG_INVALID_CHECKSUM,
> + /** Package has an invalid signature */
> ALPM_ERR_PKG_INVALID_SIG,
> + /** Package does not have a signature */
> ALPM_ERR_PKG_MISSING_SIG,
> + /** Cannot open the package file */
> ALPM_ERR_PKG_OPEN,
> + /** Failed to remove package files */
> ALPM_ERR_PKG_CANT_REMOVE,
> + /** Package has an invalid name */
> ALPM_ERR_PKG_INVALID_NAME,
> + /** Package has an invalid architecute */
> ALPM_ERR_PKG_INVALID_ARCH,
> + /** Unused */
> ALPM_ERR_PKG_REPO_NOT_FOUND,
> /* Signatures */
> + /** Signatues are missing */
> ALPM_ERR_SIG_MISSING,
> + /** Signatures are invalid */
> ALPM_ERR_SIG_INVALID,
> /* Dependencies */
> + /** Dependencies could not be satisfied */
> ALPM_ERR_UNSATISFIED_DEPS,
> + /** Conflicting dependencies */
> ALPM_ERR_CONFLICTING_DEPS,
> + /** Files conflict */
> ALPM_ERR_FILE_CONFLICTS,
> /* Misc */
> + /** Download failed */
> ALPM_ERR_RETRIEVE,
> + /** Invalid Regex */
> ALPM_ERR_INVALID_REGEX,
> /* External library errors */
> + /** Error in libarchive */
> ALPM_ERR_LIBARCHIVE,
> + /** Error in libcurl */
> ALPM_ERR_LIBCURL,
> + /** Error in external download program */
> ALPM_ERR_EXTERNAL_DOWNLOAD,
> + /** Error in gpgme */
> ALPM_ERR_GPGME,
> - /* Missing compile-time features */
> + /** Missing compile-time features */
> ALPM_ERR_MISSING_CAPABILITY_SIGNATURES
> } alpm_errno_t;
>  
> -/** Returns the current error code from the handle. */
> +/** Returns the current error code from the handle.
> + * @param handle the context handle
> + * @return the current error code of the handle
> + */
> alpm_errno_t alpm_errno(alpm_handle_t *handle);
>  
> -/** Returns the string corresponding to an error number. */
> +/** 

Re: [pacman-dev] [PATCH 02/23] doc: add doc header to alpm.h

2020-12-09 Thread Colin Woodbury
Spelling of "primarily".

On Mon, 7 Dec 2020, at 14:19, morganamilo wrote:
> ---
> lib/libalpm/alpm.h | 13 +
> 1 file changed, 13 insertions(+)
> 
> diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
> index 50c4bb6b..48ba7fdc 100644
> --- a/lib/libalpm/alpm.h
> +++ b/lib/libalpm/alpm.h
> @@ -20,6 +20,19 @@
>   *  You should have received a copy of the GNU General Public License
>   *  along with this program.  If not, see .
>   */
> +
> +/**
> + * @file alpm.h
> + * @author Pacman Development Team
> + * @date 7 Dec 2020
> + * @brief Arch Linux Package Manager Library
> + */
> +
> +/** @mainpage alpm
> + *
> + * libalpm is a package management library, primaraly used by pacman.
> + */
> +
> #ifndef ALPM_H
> #define ALPM_H
>  
> -- 
> 2.29.2
> 


Re: [pacman-dev] [PATCH 01/23] doc: remove stray doxygen comment

2020-12-09 Thread Colin Woodbury
LGTM. Fixes the warning `trans.c:269: warning: unbalanced grouping commands`.

On Mon, 7 Dec 2020, at 14:19, morganamilo wrote:
> ---
> lib/libalpm/trans.c | 2 --
> 1 file changed, 2 deletions(-)
> 
> diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
> index c7317c15..303d2fca 100644
> --- a/lib/libalpm/trans.c
> +++ b/lib/libalpm/trans.c
> @@ -266,8 +266,6 @@ int SYMEXPORT alpm_trans_release(alpm_handle_t *handle)
> return 0;
> }
>  
> -/** @} */
> -
> void _alpm_trans_free(alpm_trans_t *trans)
> {
> if(trans == NULL) {
> -- 
> 2.29.2
> 


Re: [pacman-dev] [PATCH 06/23] doc: document depends

2020-12-09 Thread Colin Woodbury
> + /**  Name of the provider to satisfy this dependnecy */
> char *name;

Spelling of "dependency" here and on the `*target` field.

On Mon, 7 Dec 2020, at 14:19, morganamilo wrote:
> ---
> lib/libalpm/alpm.h | 295 +
> 1 file changed, 164 insertions(+), 131 deletions(-)
> 
> diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
> index 43a47d54..ea99a8b3 100644
> --- a/lib/libalpm/alpm.h
> +++ b/lib/libalpm/alpm.h
> @@ -441,49 +441,26 @@ int alpm_extract_keyid(alpm_handle_t *handle, const 
> char *identifier,
> /** @} */
>  
>  
> -/*
> - * Enumerations
> - * These ones are used in multiple contexts, so are forward-declared.
> +/** @addtogroup alpm_depends Dependency
> + * @brief Functions dealing with libalpm's dependency and conflict
> + * information.
> + * @{
>   */
>  
> -/** Package install reasons. */
> -typedef enum _alpm_pkgreason_t {
> - /** Explicitly requested by the user. */
> - ALPM_PKG_REASON_EXPLICIT = 0,
> - /** Installed as a dependency for another package. */
> - ALPM_PKG_REASON_DEPEND = 1
> -} alpm_pkgreason_t;
> -
> -/** Location a package object was loaded from. */
> -typedef enum _alpm_pkgfrom_t {
> - ALPM_PKG_FROM_FILE = 1,
> - ALPM_PKG_FROM_LOCALDB,
> - ALPM_PKG_FROM_SYNCDB
> -} alpm_pkgfrom_t;
> -
> -/** Method used to validate a package. */
> -typedef enum _alpm_pkgvalidation_t {
> - ALPM_PKG_VALIDATION_UNKNOWN = 0,
> - ALPM_PKG_VALIDATION_NONE = (1 << 0),
> - ALPM_PKG_VALIDATION_MD5SUM = (1 << 1),
> - ALPM_PKG_VALIDATION_SHA256SUM = (1 << 2),
> - ALPM_PKG_VALIDATION_SIGNATURE = (1 << 3)
> -} alpm_pkgvalidation_t;
> -
> /** Types of version constraints in dependency specs. */
> typedef enum _alpm_depmod_t {
> - /** No version constraint */
> - ALPM_DEP_MOD_ANY = 1,
> - /** Test version equality (package=x.y.z) */
> - ALPM_DEP_MOD_EQ,
> - /** Test for at least a version (package>=x.y.z) */
> - ALPM_DEP_MOD_GE,
> - /** Test for at most a version (package<=x.y.z) */
> - ALPM_DEP_MOD_LE,
> - /** Test for greater than some version (package>x.y.z) */
> - ALPM_DEP_MOD_GT,
> - /** Test for less than some version (package - ALPM_DEP_MOD_LT
> +/** No version constraint */
> +ALPM_DEP_MOD_ANY = 1,
> +/** Test version equality (package=x.y.z) */
> +ALPM_DEP_MOD_EQ,
> +/** Test for at least a version (package>=x.y.z) */
> +ALPM_DEP_MOD_GE,
> +/** Test for at most a version (package<=x.y.z) */
> +ALPM_DEP_MOD_LE,
> +/** Test for greater than some version (package>x.y.z) */
> +ALPM_DEP_MOD_GT,
> +/** Test for less than some version (package +ALPM_DEP_MOD_LT
> } alpm_depmod_t;
>  
> /**
> @@ -492,48 +469,187 @@ typedef enum _alpm_depmod_t {
>   * another target in the transaction.
>   */
> typedef enum _alpm_fileconflicttype_t {
> + /** The conflict results with a another target in the transaction */
> ALPM_FILECONFLICT_TARGET = 1,
> + /** The conflict results from a file existing on the filesystem */
> ALPM_FILECONFLICT_FILESYSTEM
> } alpm_fileconflicttype_t;
>  
> -/*
> - * Structures
> - */
> -
> -/** Dependency */
> +/** The basic dependency type.
> + *
> + * This type is used throughout libalpm, not just for dependencies
> + * but also conflicts and providers. */
> typedef struct _alpm_depend_t {
> + /**  Name of the provider to satisfy this dependnecy */
> char *name;
> + /**  Version of the provider to match against (optional) */
> char *version;
> + /** A description of why this dependency is needed (optional) */
> char *desc;
> + /** A hash of name (used internally to speed up conflict checks) */
> unsigned long name_hash;
> + /** How the version should match against the provider */
> alpm_depmod_t mod;
> } alpm_depend_t;
>  
> -/** Missing dependency */
> +/** Missing dependency. */
> typedef struct _alpm_depmissing_t {
> + /** Name of the package that has the dependnecy */
> char *target;
> + /** The dependency that was wanted */
> alpm_depend_t *depend;
> - /* this is used only in the case of a remove dependency error */
> + /** If the depmissing was caused by a conflict, the name of the package
> + * that would be installed, causing the satisfying package to be removed */
> char *causingpkg;
> } alpm_depmissing_t;
>  
> -/** Conflict */
> +/** A conflict that has occurred between two packages. */
> typedef struct _alpm_conflict_t {
> + /** Hash of the first package name
> + * (used internally to speed up conflict checks) */
> unsigned long package1_hash;
> + /** Hash of the second package name
> + * (used internally to speed up conflict checks) */
> unsigned long package2_hash;
> + /** Name of the first package */
> char *package1;
> + /** Name of the second package */
> char *package2;
> + /** The conflict */
> alpm_depend_t *reason;
> } alpm_conflict_t;
>  
> -/** File conflict */
> +/** File conflict.
> + *
> + * A conflict that has happened due to a two packages containing the same 
> file,
> + * or a package contains a file that is already 

Re: [pacman-dev] [PATCH 19/23] doc: update doxyfile

2020-12-09 Thread Colin Woodbury
LGTM. These fix a number of warnings about obsolete fields. Did you rerun the 
wizard to generate this?

On Mon, 7 Dec 2020, at 14:19, morganamilo wrote:
> ---
> doc/Doxyfile.in | 81 +++--
> 1 file changed, 59 insertions(+), 22 deletions(-)
> 
> diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
> index e2101a28..776318da 100644
> --- a/doc/Doxyfile.in
> +++ b/doc/Doxyfile.in
> @@ -1,4 +1,4 @@
> -# Doxyfile 1.8.2
> +# Doxyfile 1.8.20
>  
> #---
> # Project related configuration options
> @@ -10,7 +10,9 @@ PROJECT_BRIEF  = "Arch Linux Package Manager 
> Library"
> PROJECT_LOGO   =
> OUTPUT_DIRECTORY   = @OUTPUT_DIRECTORY@
> CREATE_SUBDIRS = NO
> +ALLOW_UNICODE_NAMES= NO
> OUTPUT_LANGUAGE= English
> +OUTPUT_TEXT_DIRECTION  = None
> BRIEF_MEMBER_DESC  = YES
> REPEAT_BRIEF   = YES
> ABBREVIATE_BRIEF   = "The $name class" \
> @@ -31,36 +33,41 @@ STRIP_FROM_PATH=
> STRIP_FROM_INC_PATH=
> SHORT_NAMES= NO
> JAVADOC_AUTOBRIEF  = YES
> +JAVADOC_BANNER = NO
> QT_AUTOBRIEF   = NO
> MULTILINE_CPP_IS_BRIEF = NO
> +PYTHON_DOCSTRING   = YES
> INHERIT_DOCS   = YES
> SEPARATE_MEMBER_PAGES  = NO
> TAB_SIZE   = 4
> ALIASES=
> -TCL_SUBST  =
> OPTIMIZE_OUTPUT_FOR_C  = YES
> OPTIMIZE_OUTPUT_JAVA   = NO
> OPTIMIZE_FOR_FORTRAN   = NO
> OPTIMIZE_OUTPUT_VHDL   = NO
> +OPTIMIZE_OUTPUT_SLICE  = NO
> EXTENSION_MAPPING  =
> MARKDOWN_SUPPORT   = YES
> +TOC_INCLUDE_HEADINGS   = 5
> AUTOLINK_SUPPORT   = YES
> BUILTIN_STL_SUPPORT= NO
> CPP_CLI_SUPPORT= NO
> SIP_SUPPORT= NO
> IDL_PROPERTY_SUPPORT   = YES
> DISTRIBUTE_GROUP_DOC   = NO
> +GROUP_NESTED_COMPOUNDS = NO
> SUBGROUPING= YES
> INLINE_GROUPED_CLASSES = NO
> -INLINE_SIMPLE_STRUCTS  = NO
> +INLINE_SIMPLE_STRUCTS  = YES
> TYPEDEF_HIDES_STRUCT   = YES
> -SYMBOL_CACHE_SIZE  = 0
> LOOKUP_CACHE_SIZE  = 0
> +NUM_PROC_THREADS   = 1
> #---
> # Build related configuration options
> #---
> EXTRACT_ALL= NO
> EXTRACT_PRIVATE= NO
> +EXTRACT_PRIV_VIRTUAL   = NO
> EXTRACT_PACKAGE= NO
> EXTRACT_STATIC = NO
> EXTRACT_LOCAL_CLASSES  = YES
> @@ -73,7 +80,9 @@ HIDE_IN_BODY_DOCS  = YES
> INTERNAL_DOCS  = NO
> CASE_SENSE_NAMES   = YES
> HIDE_SCOPE_NAMES   = NO
> +HIDE_COMPOUND_REFERENCE= NO
> SHOW_INCLUDE_FILES = YES
> +SHOW_GROUPED_MEMB_INC  = NO
> FORCE_LOCAL_INCLUDES   = NO
> INLINE_INFO= YES
> SORT_MEMBER_DOCS   = YES
> @@ -95,26 +104,29 @@ FILE_VERSION_FILTER=
> LAYOUT_FILE=
> CITE_BIB_FILES =
> #---
> -# configuration options related to warning and progress messages
> +# Configuration options related to warning and progress messages
> #---
> QUIET  = NO
> WARNINGS   = YES
> WARN_IF_UNDOCUMENTED   = YES
> WARN_IF_DOC_ERROR  = YES
> WARN_NO_PARAMDOC   = NO
> +WARN_AS_ERROR  = NO
> WARN_FORMAT= "$file:$line: $text"
> WARN_LOGFILE   =
> #---
> -# configuration options related to the input files
> +# Configuration options related to the input files
> #---
> -INPUT  = ../lib/libalpm/alpm.h ../lib/libalpm/alpm_list.h
> +INPUT  = ../lib/libalpm/alpm.h \
> + ../lib/libalpm/alpm_list.h
> INPUT_ENCODING = UTF-8
> FILE_PATTERNS  =
> RECURSIVE  = NO
> EXCLUDE=
> EXCLUDE_SYMLINKS   = NO
> EXCLUDE_PATTERNS   =
> -EXCLUDE_SYMBOLS= _alpm_* __alpm_*
> +EXCLUDE_SYMBOLS= _alpm_* \
> + __alpm_*
> EXAMPLE_PATH   =
> EXAMPLE_PATTERNS   = *
> EXAMPLE_RECURSIVE  = NO
> @@ -123,8 +135,9 @@ INPUT_FILTER   =
> FILTER_PATTERNS=
> FILTER_SOURCE_FILES= NO
> FILTER_SOURCE_PATTERNS =
> +USE_MDFILE_AS_MAINPAGE =
> #---
> -# configuration options related to source browsing
> +# Configuration options related to source browsing
> #---
> SOURCE_BROWSER = NO
> INLINE_SOURCES = NO
> @@ -132,16 +145,17 @@ STRIP_CODE_COMMENTS= NO
> REFERENCED_BY_RELATION = YES
> REFERENCES_RELATION= YES
> REFERENCES_LINK_SOURCE = YES
> +SOURCE_TOOLTIPS= YES
> USE_HTAGS  = NO
> 

Re: [pacman-dev] Location of the Pacman Home Page source?

2020-12-09 Thread Colin Woodbury
I updated the playbook for now, since 6.0 has yet to fully land: 
https://github.com/archlinux/infrastructure/pull/8

On Fri, 4 Dec 2020, at 13:25, Eli Schwartz wrote:
> On 12/4/20 11:43 AM, Colin Woodbury wrote:
> > Thanks Eli!
> > 
> > It looks like I had been grepping for `meson compile` and not `meson
> > build`, hence I couldn't find it. It seems like the asciidoc was
> > already updated some time ago, just not uploaded to the site itself.
> 
> Should be a simple matter of bumping the version in 
> https://github.com/archlinux/infrastructure/blob/master/playbooks/tasks/pacman-website.yml
> 
> The 6.0 release will need the playbook to be updated to use meson 
> instead of configure/make.
> 
> > Also, in both `index.asciidoc` and `NEWS`, 5.2.2 was never given
> > release notes. Should we add those, or just wait for the impending
> > 6.0?
> 
> It got updated, appropriately, on the release/5.2.x branch. That will 
> probably get synced once I write the release notes for 6.0, as happened 
> last time...
> 
> -- 
> Eli Schwartz
> Bug Wrangler and Trusted User
> 
> 
> 
> *Attachments:*
>  * OpenPGP_signature


Re: [pacman-dev] [PATCH 03/23] doc: document error

2020-12-09 Thread Colin Woodbury
Sorry, misclicked a send. 

> +/** A package

How about a period here, to match the line for "database" above.

 + /** Package has an invalid architecute */
 ALPM_ERR_PKG_INVALID_ARCH,

Spelling of "architecture".

>>> + /** Signatues are missing */
>>> ALPM_ERR_SIG_MISSING,

Spelling of "signatures".


[pacman-dev] [PATCH] Add `build/` to gitignore

2020-12-09 Thread Colin Woodbury
Since it's a transient directory for build artifacts, nothing in there will ever
been committed. Ignoring it also makes IDEs happier during file search.

Signed-off-by: Colin Woodbury 
---
 .gitignore | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.gitignore b/.gitignore
index 01975fd2..638dfe39 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 *~
 *.o
 pacman-*.tar.gz
+build/*
-- 
2.29.2


Re: [pacman-dev] [PATCH 00/23] Docs Docs Docs 2: electric boogaloo

2020-12-07 Thread Colin Woodbury
I enjoy writing docs, is there anywhere you'd like a hand? 

On Mon, 7 Dec 2020, at 14:19, morganamilo wrote:
> Here's a redo of my original docs patch and more.
> 
> This time it's split in to many commits so it's hopefully easier to
> review/rebase.
> 
> Every function, struct and param is now documented.
> 
> Simply `man libalpm` to get the main page. Then `man libalpm-databases`
> to see the database section and so on for each section.
> 
> Also while doing all this, I thought it would make sense to change some
> function names:
> 
> I also think alpm_unlock() should be named alpm_db_unlock() and
> alpm_sync_get_new_version() should be named alpm_pkg_get_new_version()
> 
> Then the functions could be moved into the db and packages groups
> repectivley.
> 
> To be clear I have not actually changed any function names in this patch
> set.
> 
> morganamilo (23):
>   doc: remove stray doxygen comment
>   doc: add doc header to alpm.h
>   doc: document error
>   doc: document handle
>   doc: document signatures
>   doc: document depends
>   doc: document callbacks
>   doc: document databases
>   doc: document logging
>   doc: document packages
>   doc: document files and groups
>   doc: document transactions
>   doc: document misc
>   doc: document alpm_list
>   doc: document options
>   doc: move alpm_api group to top of file
>   doc: move top level items into groups
>   doc: configure doxygen
>   doc: update doxyfile
>   doc: rename alpm_api group to alpm
>   doc: add extra documentation to the man page
>   doc: change group names to libalpm_*
>   doc: remove old libalpm man file
> 
> doc/Doxyfile.in |   83 +-
> doc/libalpm.3.asciidoc  |   37 -
> doc/meson.build |1 -
> lib/libalpm/alpm.h  | 2429 +++
> lib/libalpm/alpm_list.c |  251 
> lib/libalpm/alpm_list.h |  293 -
> lib/libalpm/trans.c |2 -
> 7 files changed, 2048 insertions(+), 1048 deletions(-)
> delete mode 100644 doc/libalpm.3.asciidoc
> 
> -- 
> 2.29.2
> 


Re: [pacman-dev] Location of the Pacman Home Page source?

2020-12-04 Thread Colin Woodbury
Thanks Eli!

It looks like I had been grepping for `meson compile` and not `meson build`, 
hence I couldn't find it. It seems like the asciidoc was already updated some 
time ago, just not uploaded to the site itself. 

Also, in both `index.asciidoc` and `NEWS`, 5.2.2 was never given release notes. 
Should we add those, or just wait for the impending 6.0? 

On Fri, 4 Dec 2020, at 08:28, Eli Schwartz wrote:
> On 12/4/20 11:20 AM, Colin Woodbury wrote:
> > Hi folks, I see that while a number of Pacman-related pages like the
> > HACKING document are rendered into nice HTML and hosted officially,
> > does anyone know where the source for the Pacman homepage itself is
> > hosted (https://www.archlinux.org/pacman/)? There are some
> > documentation lines I'd like to fix, in particular the ones that
> > still mention configure/make as the way to compile Pacman. Meson
> > should probably also be mentioned in the Pacman README itself, since
> > it is otherwise cited nowhere in that repo. I'd be happy to put forth
> > a PR.
> 
> In the doc/ directory, which contains asciidoc sources for both mapages 
> and the website.
> 
> You can generate the html files using `ninja html`, and tar it up for 
> copying onto the website using `ninja doc/website.tar.gz`.
> 
> -- 
> Eli Schwartz
> Bug Wrangler and Trusted User
> 
> 
> 
> *Attachments:*
>  * OpenPGP_signature


[pacman-dev] Location of the Pacman Home Page source?

2020-12-04 Thread Colin Woodbury
Hi folks, I see that while a number of Pacman-related pages like the HACKING 
document are rendered into nice HTML and hosted officially, does anyone know 
where the source for the Pacman homepage itself is hosted 
(https://www.archlinux.org/pacman/)? There are some documentation lines I'd 
like to fix, in particular the ones that still mention configure/make as the 
way to compile Pacman. Meson should probably also be mentioned in the Pacman 
README itself, since it is otherwise cited nowhere in that repo. I'd be happy 
to put forth a PR.

Cheers,
Colin


Re: [pacman-dev] [PATCH] Restore usage line for -Fh

2020-11-26 Thread Colin Woodbury
> but "pacman -F" also takes file paths or regex as an argument, not just
> package names.

It does, yeah. In this case I was going off what `pacman -h` displays for `-F`, 
which is just `[packages]`. Should I update both `-h` and `-Fh`, or just the 
latter?

On Thu, 26 Nov 2020, at 04:02, Allan McRae wrote:
> On 26/11/20 6:53 am, Colin Woodbury wrote:
> > Unlike the other main commands, -F was missing its top-level usage line in 
> > its
> > help output.
> > 
> > Signed-off-by: Colin Woodbury 
> > ---
> >  src/pacman/pacman.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
> > index fefd3fa4..69e2e42a 100644
> > --- a/src/pacman/pacman.c
> > +++ b/src/pacman/pacman.c
> > @@ -176,6 +176,8 @@ static void usage(int op, const char * const myname)
> >  printf("%s:  %s {-T --deptest} [%s] [%s]\n", str_usg, myname, str_opt, 
> > str_pkg);
> >  printf("%s:\n", str_opt);
> >  } else if(op == PM_OP_FILES) {
> > + printf("%s:  %s {-F --files} [%s] [%s]\n", str_usg, myname, str_opt, 
> > str_pkg);
> 
> This gives:
> 
> usage:  pacman {-F --files} [options] [package(s)]
> 
> but "pacman -F" also takes file paths or regex as an argument, not just
> package names.
> 
> > + printf("%s:\n", str_opt);
> >  addlist(_("  -l, --list   list the files owned by the queried 
> > package\n"));
> >  addlist(_("  -q, --quiet  show less information for query and 
> > search\n"));
> >  addlist(_("  -x, --regex  enable searching using regular 
> > expressions\n"));
> > 
> 


[pacman-dev] [PATCH] Restore usage line for -Fh

2020-11-25 Thread Colin Woodbury
Unlike the other main commands, -F was missing its top-level usage line in its
help output.

Signed-off-by: Colin Woodbury 
---
 src/pacman/pacman.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index fefd3fa4..69e2e42a 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -176,6 +176,8 @@ static void usage(int op, const char * const myname)
printf("%s:  %s {-T --deptest} [%s] [%s]\n", str_usg, 
myname, str_opt, str_pkg);
printf("%s:\n", str_opt);
} else if(op == PM_OP_FILES) {
+   printf("%s:  %s {-F --files} [%s] [%s]\n", str_usg, 
myname, str_opt, str_pkg);
+   printf("%s:\n", str_opt);
addlist(_("  -l, --list   list the files owned 
by the queried package\n"));
addlist(_("  -q, --quiet  show less information 
for query and search\n"));
addlist(_("  -x, --regex  enable searching 
using regular expressions\n"));
-- 
2.29.2


[pacman-dev] Correct alpm version to bind to?

2017-06-12 Thread Colin Woodbury
Hi all, I'm the Aura dev. I'm writing alpm bindings for it, and I got a
fair distance through before I realized that my up-to-date paper copies and
the version of `alpm.h` actually bundled with pacman on my machine are
quite different. The local one (/usr/include/alpm.h) is dated 2016 and has
types / function signatures that vary a fair amount from what's currently
on master, although they both report their versions to be 10.0.1.

Is the most recent alpm supposed to be bundled with pacman? What
incarnation of alpm does our installed pacman (5.0.1-5 as of this writing)
bind to itself? Which version should be considered the "ground truth" for
people writing bindings?

Thanks,
Colin