Re: [pacman-dev] Starting Pacman development

2019-09-06 Thread Jelle van der Waa
On 09/05/19 at 10:42pm, Eli Schwartz wrote:
> On 8/29/19 11:23 AM, Matthew Sexton wrote:
> > What are some tasks that someone could tackle to get familiar with the
> > project? I am familiar with C, and have perused Pacman bugs and source. But
> > I don't feel like I know the application enough to really be helpful. And I
> > don't really know where to start.
> 
> Does anything in particular about pacman or package managers in general
> interest you? That is generally the best way to start. :)
> 
> If you just want some suggestions for uncontroversial bug fixes to look
> at, I could try to find something. :)
> 

This bug seems to be an easy candidate to me: 
https://bugs.archlinux.org/task/58391

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


[pacman-dev] [PATCH v2] doc: Add a man page describing PKGINFO

2019-06-28 Thread Jelle van der Waa
From: Jelle van der Waa 

Describe the PKGINFO format which resides in a package produced makepkg.
---
 doc/Makefile.am|  4 +-
 doc/PKGINFO.5.asciidoc | 87 ++
 doc/meson.build|  1 +
 3 files changed, 91 insertions(+), 1 deletion(-)
 create mode 100644 doc/PKGINFO.5.asciidoc

diff --git a/doc/Makefile.am b/doc/Makefile.am
index 5c575832..634388e8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -16,7 +16,8 @@ MANPAGES = \
pacman.conf.5 \
libalpm.3 \
BUILDINFO.5 \
-   pacman-conf.8
+   pacman-conf.8 \
+   PKGINFO.5
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
@@ -47,6 +48,7 @@ EXTRA_DIST = \
makepkg.conf.5.asciidoc \
pacman.conf.5.asciidoc \
BUILDINFO.5.asciidoc \
+   PKGINFO.5.asciidoc \
libalpm.3.asciidoc \
footer.asciidoc \
index.asciidoc \
diff --git a/doc/PKGINFO.5.asciidoc b/doc/PKGINFO.5.asciidoc
new file mode 100644
index ..101ba34c
--- /dev/null
+++ b/doc/PKGINFO.5.asciidoc
@@ -0,0 +1,87 @@
+/
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/
+PKGINFO(5)
+==
+
+Name
+
+PKGINFO - package information file
+
+
+Synopsis
+
+This manual page describes the format of a PKGINFO file found in the root of
+a package created by makepkg. The file contains a description of the package's
+information. The information is formatted in key-value pairs separated by
+a '=', one value per line. Arrays are represented multiple keys with the same
+value.
+
+
+Description
+---
+
+*pkgname*::
+   The name of the package.
+
+*pkgbase*::
+   The base name of a package, usually the same as the pkgname except for
+   split packages.
+
+*pkgver*::
+   The version of the package including pkgrel and epoch.
+
+*pkgdesc*::
+   A description of the software contained in the package.
+
+*url*::
+   The upstream url of the package.
+
+*builddate*::
+   The build date of the package in epoch.
+
+*packager*::
+   The packager of the package formatted "Name ".
+
+*size*::
+   The size of the package in bytes.
+
+*arch*::
+   The architecture of the package.
+
+*license*::
+   The license of the package.
+
+*replaces (array)*::
+   An array of packages that this package should replace.
+
+*group (array)*::
+   An array of names that represent groups of packages.
+
+*conflict (array)*::
+   An array of packages that will conflict with this package.
+
+*provides (array)*::
+   An array of "virtual provisions" this package provides.
+
+*backup (array)*::
+   An array of file names, which should be backed up if the package is 
removed
+   or upgraded.
+
+*depend (array)*::
+   The dependencies of the package.
+
+*optdepend (array)*::
+   The optional dependencies of the package.
+
+*makedepend (array)*::
+   The make dependencies of the package.
+
+*checkdepend (array)*::
+   The check dependencies of the package.
+
+See Also
+
+linkman:makepkg[8], linkman:pkgbuild[5]
+
+include::footer.asciidoc[]
diff --git a/doc/meson.build b/doc/meson.build
index a5bcd5b3..2f966616 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -12,6 +12,7 @@ manpages = [
   { 'name': 'libalpm.3' },
   { 'name': 'BUILDINFO.5' },
   { 'name': 'pacman-conf.8' },
+  { 'name': 'PKGINFO.5' },
 ]
 
 sitepages = [
-- 
2.22.0


[pacman-dev] [PATCH] doc: Add a man page describing PKGINFO

2019-06-21 Thread Jelle van der Waa
From: Jelle van der Waa 

Describe the PKGINFO format which resides in a package produced makepkg.
---
 doc/Makefile.am|  4 +-
 doc/PKGINFO.5.asciidoc | 86 ++
 doc/meson.build|  1 +
 3 files changed, 90 insertions(+), 1 deletion(-)
 create mode 100644 doc/PKGINFO.5.asciidoc

diff --git a/doc/Makefile.am b/doc/Makefile.am
index 5c575832..634388e8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -16,7 +16,8 @@ MANPAGES = \
pacman.conf.5 \
libalpm.3 \
BUILDINFO.5 \
-   pacman-conf.8
+   pacman-conf.8 \
+   PKGINFO.5
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
@@ -47,6 +48,7 @@ EXTRA_DIST = \
makepkg.conf.5.asciidoc \
pacman.conf.5.asciidoc \
BUILDINFO.5.asciidoc \
+   PKGINFO.5.asciidoc \
libalpm.3.asciidoc \
footer.asciidoc \
index.asciidoc \
diff --git a/doc/PKGINFO.5.asciidoc b/doc/PKGINFO.5.asciidoc
new file mode 100644
index ..2da25c5b
--- /dev/null
+++ b/doc/PKGINFO.5.asciidoc
@@ -0,0 +1,86 @@
+/
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/
+PKGINFO(5)
+==
+
+Name
+
+PKGINFO - package information file
+
+
+Synopsis
+
+This manual page describes the format of a PKGINFO file found in the root of
+a package created by makepkg. The file contains a description of the package's
+information. The information is formatted in key-value pairs separated by
+a '=', one value per line. Arrays are represented multiple keys with the same
+value.
+
+
+Description
+---
+
+*pkgname*::
+   The name of the package.
+
+*pkgbase*::
+   The base name of a package, usually the same as the pkgname except for
+   split packages.
+
+*pkgver*::
+   The version of the package including pkgrel and epoch.
+
+*pkgdesc*::
+   A description of the package.
+
+*url*::
+   The upstream of the package.
+
+*builddate*::
+   The build date of the package in epoch.
+
+*packager*::
+   The packager of the package formatted Foo .
+
+*size*::
+   The size of the package.
+
+*arch*::
+   The architecture of the package.
+
+*license*::
+   The license of the package.
+
+*replaces (array)*::
+   An array of packages this package should replace.
+
+*group (array)*::
+   An array of symbolic names that represent groups of packages.
+
+*conflict (array)*::
+   An array of packages that will conflict with this package.
+
+*provides (array)*::
+   An array of "virtual provisions" this package provides.
+
+*backup (array)*::
+   An array of file names.
+
+*depend (array)*::
+   The dependencies of the package.
+
+*optdepend (array)*::
+   The optional dependencies of the package.
+
+*makedepend (array)*::
+   The make dependencies of the package.
+
+*checkdepend (array)*::
+   The check dependencies of the package.
+
+See Also
+
+linkman:makepkg[8], linkman:pkgbuild[5]
+
+include::footer.asciidoc[]
diff --git a/doc/meson.build b/doc/meson.build
index a5bcd5b3..2f966616 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -12,6 +12,7 @@ manpages = [
   { 'name': 'libalpm.3' },
   { 'name': 'BUILDINFO.5' },
   { 'name': 'pacman-conf.8' },
+  { 'name': 'PKGINFO.5' },
 ]
 
 sitepages = [
-- 
2.22.0


Re: [pacman-dev] [PATCH] doc: add man page for pacman-conf

2019-02-21 Thread Jelle van der Waa
On 02/20/19 at 02:57am, Eli Schwartz wrote:
> On 2/20/19 2:43 AM, Allan McRae wrote:
> > On 20/2/19 5:35 pm, Eli Schwartz wrote:
> >>> +Examples
> >>> +
> >>> +
> >>> +pacman-conf -r core Usage::
> >>> + Show the value of the Usage configuration option for core repository.
> >>> +
> >>> +pacman-conf HoldPkg::
> >>> + Show the value of the HoldPkg configuration option.
> >> I'm hesitant to have an Examples section, for the simple fact that if it
> >> is needed in order to let users understand how to use the program, then
> >> the Description section has probably already failed.
> >>
> > 
> > Like the pacman man page!
> 
> I'm not necessarily saying ditch the examples section -- but its
> presence made it fairly noticeable that the rest of the page did not
> describe how pacman-conf's directive parameter functions (nor indeed
> that without it, it will flatten the configuration and return all of it
> for you).
> 
> OTOH maybe we could go wild and delete stuff from the pacman manpage
> too... who doesn't like deleting things...

In my opinion the example section is fine and can be used as a quick
reference.

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


[pacman-dev] [PATCH] doc: set rootdir correctly in man pages

2019-02-21 Thread Jelle van der Waa
If an alternative rootdir is specified in either meson or configure it's
not respected in the generated man pages.

Signed-off-by: Jelle van der Waa 
---
 doc/Makefile.am   | 3 ++-
 doc/meson.build   | 1 +
 doc/pacman.8.asciidoc | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/doc/Makefile.am b/doc/Makefile.am
index de87c409..e03d6ab8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -112,7 +112,8 @@ ASCIIDOC_OPTS = \
-a pkgdatadir=$(pkgdatadir) \
-a localstatedir=$(localstatedir) \
-a sysconfdir=$(sysconfdir) \
-   -a datarootdir=$(datarootdir)
+   -a datarootdir=$(datarootdir) \
+   -a rootdir=$(ROOTDIR)
 
 A2X_OPTS = \
--no-xmllint \
diff --git a/doc/meson.build b/doc/meson.build
index b7514ef7..d6403bae 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -31,6 +31,7 @@ asciidoc_opts = [
  '-a', 'localstatedir=@0@'.format(LOCALSTATEDIR),
  '-a', 'sysconfdir=@0@'.format(SYSCONFDIR),
  '-a', 'datarootdir=@0@'.format(DATAROOTDIR),
+ '-a', 'rootdir=@0@'.format(ROOTDIR),
 ]
 
 html_targets = []
diff --git a/doc/pacman.8.asciidoc b/doc/pacman.8.asciidoc
index 6b2d9172..fe95178d 100644
--- a/doc/pacman.8.asciidoc
+++ b/doc/pacman.8.asciidoc
@@ -131,7 +131,7 @@ Options
not automatically prepended.
 
 *-r, \--root* ::
-   Specify an alternative installation root (default is `/`). This should
+   Specify an alternative installation root (default is +{rootdir}+). This 
should
not be used as a way to install software into `/usr/local` instead of
`/usr`.
*NOTE*: If database path or log file are not specified on either the
-- 
2.20.1


[pacman-dev] [PATCH v2] doc: add man page for pacman-conf

2019-02-21 Thread Jelle van der Waa
Signed-off-by: Jelle van der Waa 
---
 doc/Makefile.am|  3 +-
 doc/meson.build|  1 +
 doc/pacman-conf.8.asciidoc | 67 ++
 3 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 doc/pacman-conf.8.asciidoc

diff --git a/doc/Makefile.am b/doc/Makefile.am
index de87c409..f68f4ea0 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -16,7 +16,8 @@ MANPAGES = \
makepkg.conf.5 \
pacman.conf.5 \
libalpm.3 \
-   BUILDINFO.5
+   BUILDINFO.5 \
+   pacman-conf.8
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
diff --git a/doc/meson.build b/doc/meson.build
index b7514ef7..e4d9b98f 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -12,6 +12,7 @@ manpages = [
   { 'name': 'pacman.conf.5' },
   { 'name': 'libalpm.3' },
   { 'name': 'BUILDINFO.5' },
+  { 'name': 'pacman-conf.8' },
 ]
 
 sitepages = [
diff --git a/doc/pacman-conf.8.asciidoc b/doc/pacman-conf.8.asciidoc
new file mode 100644
index ..c067166d
--- /dev/null
+++ b/doc/pacman-conf.8.asciidoc
@@ -0,0 +1,67 @@
+pacman-conf(8)
+==
+
+Name
+
+pacman-conf - query pacman's configuration file
+
+
+Synopsis
+
+'pacman-conf' [options] [ ...]
+
+'pacman-conf' (--repo-list|--help|--version)
+
+
+Description
+---
+'pacman-conf' is a utility for parsing the 'pacman' configuration file
+and returning script-friendly output. It is designed to properly handle
+non-trivial configuration features such as variable interpolation and
+the use of the Include directive, and guarantees that it will return the
+same configuration values which 'pacman' itself would use.
+
+'pacman-conf' will output the fully-resolved contents of the
+configuration file by default, or, if provided with the name of a
+configuration directive, output the contents of the given directive alone.
+
+
+Options
+---
+*-c, \--config* ::
+   Specify an alternate configuration file.
+
+*-R, \--rootdir* ::
+   Specify an alternate installation root (default is `/`).
+
+*-r, \--repo* ::
+   Query options for a specific repository.
+
+*-v, \--verbose*::
+   Always shown directive names.
+
+*-l, \--repo-list*::
+   List configured repositories.
+
+*-h, \--help*::
+   Output syntax and command line options.
+
+*-V, \--version*::
+   Display version and exit.
+
+
+Examples
+
+
+pacman-conf -r core Usage::
+   Show the value of the Usage configuration option for core repository.
+
+pacman-conf HoldPkg::
+   Show the value of the HoldPkg configuration option.
+
+
+See Also
+
+linkman:pacman.conf[5]
+
+include::footer.asciidoc[]
-- 
2.20.1


[pacman-dev] [PATCH] doc: add man page for pacman-conf

2019-02-19 Thread Jelle van der Waa
Signed-off-by: Jelle van der Waa 
---
 doc/Makefile.am|  3 +-
 doc/pacman-conf.8.asciidoc | 60 ++
 2 files changed, 62 insertions(+), 1 deletion(-)
 create mode 100644 doc/pacman-conf.8.asciidoc

diff --git a/doc/Makefile.am b/doc/Makefile.am
index de87c409..f68f4ea0 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -16,7 +16,8 @@ MANPAGES = \
makepkg.conf.5 \
pacman.conf.5 \
libalpm.3 \
-   BUILDINFO.5
+   BUILDINFO.5 \
+   pacman-conf.8
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
diff --git a/doc/pacman-conf.8.asciidoc b/doc/pacman-conf.8.asciidoc
new file mode 100644
index ..0e4c96be
--- /dev/null
+++ b/doc/pacman-conf.8.asciidoc
@@ -0,0 +1,60 @@
+pacman-conf(8)
+==
+
+Name
+
+pacman-conf - query pacman's configuration file
+
+
+Synopsis
+
+'pacman-conf' [options] [ ...]
+
+
+Description
+---
+The 'pacman-conf' utility is created since parsing pacman's configuration file
+is non-trivial and extremely difficult to do correctly from scripts. It makes 
it
+easy for scripts to get the same configuration value which pacman itself would
+use.
+
+
+Options
+---
+*-c, \--config* ::
+   Specify an alternate configuration file.
+
+*-R, \--rootdir* ::
+   Specify an alternate installation root (default is `/`).
+
+*-r, \--repo* ::
+   Query options for a specific repository.
+
+*-v, \--verbose*::
+   Always shown directive names.
+
+*-l, \--repo-list*::
+   List configured repositories.
+
+*-V, \--version*::
+   Display version and exit.
+
+*-h, \--help*::
+   Output syntax and command line options.
+
+
+Examples
+
+
+pacman-conf -r core Usage::
+   Show the value of the Usage configuration option for core repository.
+
+pacman-conf HoldPkg::
+   Show the value of the HoldPkg configuration option.
+
+
+See Also
+
+linkman:pacman.conf[5]
+
+include::footer.asciidoc[]
-- 
2.20.1


[pacman-dev] [PATCH v4] Add BUILDINFO man page

2018-01-13 Thread Jelle van der Waa
Add a new man page which describes the structure of a BUILDINFO file
included in a package produced by makepkg.

Signed-off-by: Jelle van der Waa <je...@vdwaa.nl>
---
 doc/BUILDINFO.5.txt | 67 +
 doc/Makefile.am |  4 +++-
 2 files changed, 70 insertions(+), 1 deletion(-)
 create mode 100644 doc/BUILDINFO.5.txt

diff --git a/doc/BUILDINFO.5.txt b/doc/BUILDINFO.5.txt
new file mode 100644
index ..b7a72831
--- /dev/null
+++ b/doc/BUILDINFO.5.txt
@@ -0,0 +1,67 @@
+/
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/
+BUILDINFO(5)
+
+
+Name
+
+BUILDINFO - Makepkg package build information file
+
+
+Synopsis
+
+This manual page describes the format of a BUILDINFO file found in the root of
+a package created by makepkg. The file contains a description of the package's
+build environment. The information is formatted in key-value pairs separated by
+a '=', one value per line. Arrays are represented multiple keys with the same
+value.
+
+
+Description
+---
+
+This is a description of the contents of version '1' of the
+BUILDINFO file format.
+
+*format*::
+   Denotes the file format version, represented by a plain positive 
integer.
+
+*pkgname*::
+   The name of the package.
+
+*pkgbase*::
+
+   The base name of a package, usually the same as the pkgname except for
+   split packages.
+
+*pkgver*::
+   The version of the package including pkgrel and epoch.
+
+*pkgbuild_sha256sum*::
+   The sha256sum in hex format of the PKGBUILD used to build the package.
+
+*packager*::
+   The details of the packager that built the package.
+
+*builddate*::
+   The build date of the package in epoch.
+
+*builddir*::
+   The directory where the package was built.
+
+*buildenv (array)*::
+   The build environment specified in makepkg.conf.
+
+*options (array)*::
+   The options set specified when building the package.
+
+*installed (array)*::
+   The installed packages at build time including the version information 
of
+   the package. Formatted as "$pkgname-$pkgver-$pkgrel".
+
+See Also
+
+linkman:makepkg[8], linkman:pacman[8], linkman:makepkg.conf[5]
+
+include::footer.txt[]
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 44e32996..bbf2af66 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -15,7 +15,8 @@ ASCIIDOC_MANS = \
PKGBUILD.5 \
makepkg.conf.5 \
pacman.conf.5 \
-   libalpm.3
+   libalpm.3 \
+   BUILDINFO.5
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
@@ -58,6 +59,7 @@ EXTRA_DIST = \
PKGBUILD-example.txt \
makepkg.conf.5.txt \
pacman.conf.5.txt \
+   BUILDINFO.5.txt \
libalpm.3.txt \
footer.txt \
index.txt \
-- 
2.15.1


[pacman-dev] [PATCH v3] Add BUILDINFO man page

2018-01-09 Thread Jelle van der Waa
Add a new man page which describes the structure of a BUILDINFO file
included in a package produced by makepkg.

Signed-off-by: Jelle van der Waa <je...@vdwaa.nl>
---
 doc/BUILDINFO.5.txt | 68 +
 doc/Makefile.am |  4 +++-
 2 files changed, 71 insertions(+), 1 deletion(-)
 create mode 100644 doc/BUILDINFO.5.txt

diff --git a/doc/BUILDINFO.5.txt b/doc/BUILDINFO.5.txt
new file mode 100644
index ..32c65c83
--- /dev/null
+++ b/doc/BUILDINFO.5.txt
@@ -0,0 +1,68 @@
+/
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/
+BUILDINFO(5)
+
+
+Name
+
+BUILDINFO - Makepkg package build information file
+
+
+Synopsis
+
+This manual page describes the format of a BUILDINFO file usually found in a
+package created by makepkg. The file contains a description of the package's
+build environment. The information is formatted in key-value pairs separated
+by a '=', one value per line, arrays are represented multiple keys with the
+same value.
+
+
+Description
+---
+
+This is a description of the contents of version '1' of the
+BUILDINFO file format.
+
+*format*::
+   Denotes the file format version, represented by a plain positive 
integer.
+
+*pkgname*::
+   The name of the package.
+
+*pkgbase*::
+   
+   The base name of a package, usually the same as the pkgname except when
+   it's a split package.
+
+*pkgver*::
+   The version of the package including pkgrel and epoch.
+
+*pkgbuild_sha256sum*::
+   The sha256sum in hex format of the PKGBUILD used to build the package.
+
+*packager*::
+   The packager which has built the package.
+
+*builddate*::
+   The build date of the package in epoch.
+
+*builddir*::
+   The build directory where the package has been build.
+
+*buildenv (array)*::
+   The set BUILDENV from makepkg.conf.
+
+*options (array)*::
+   A combination of the OPTIONS set in makekg.conf merged with the options 
set
+   in the used PKGBUILD.
+
+*installed (array)*::
+   The installed packages at build time including the version of the 
package.
+   Formatted as "$pkgname-$pkgver-$pkgrel".
+
+See Also
+
+linkman:makepkg[8], linkman:pacman[8], linkman:makepkg.conf[5]
+
+include::footer.txt[]
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 44e32996..bbf2af66 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -15,7 +15,8 @@ ASCIIDOC_MANS = \
PKGBUILD.5 \
makepkg.conf.5 \
pacman.conf.5 \
-   libalpm.3
+   libalpm.3 \
+   BUILDINFO.5
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
@@ -58,6 +59,7 @@ EXTRA_DIST = \
PKGBUILD-example.txt \
makepkg.conf.5.txt \
pacman.conf.5.txt \
+   BUILDINFO.5.txt \
libalpm.3.txt \
footer.txt \
index.txt \
-- 
2.15.1


[pacman-dev] [PATCH v2] Add BUILDINFO man page

2018-01-05 Thread Jelle van der Waa
Add a new man page which describes the structure of a BUILDINFO file
included in a package produced by makepkg.

Signed-off-by: Jelle van der Waa <je...@vdwaa.nl>
---
 doc/BUILDINFO.5.txt | 68 +
 doc/Makefile.am |  4 +++-
 doc/PKGBUILD.5.txt  |  2 +-
 3 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 doc/BUILDINFO.5.txt

diff --git a/doc/BUILDINFO.5.txt b/doc/BUILDINFO.5.txt
new file mode 100644
index ..1038caf8
--- /dev/null
+++ b/doc/BUILDINFO.5.txt
@@ -0,0 +1,68 @@
+/
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/
+BUILDINFO(5)
+
+
+Name
+
+BUILDINFO - Makepkg package build information file
+
+
+Synopsis
+
+This manual page describes the format of a BUILDINFO file usually found in a
+package created by makepkg. The file contains a description of the package's
+build environment. The information is formatted in key-value pairs separated
+by a '=', one value per line, arrays are represented multiple keys with the
+same value.
+
+
+Description
+---
+
+This is a description of the contents of version '1' of the
+BUILDINFO file format.
+
+*format*::
+   Denotes the file format version, represented by a number.
+
+*pkgname*::
+   The name of the package.
+
+*pkgbase*::
+   
+   The base name of a package, usually the same as the pkgname except when
+   it's a split package.
+
+*pkgver*::
+   The version of the package including pkgrel and epoch.
+
+*pkgbuild_sha256sum*::
+   The sha256sum in hex format of the PKGBUILD used to build the package.
+
+*packager*::
+   The packager which has built the package.
+
+*builddate*::
+   The build date of the package in epoch.
+
+*builddir*::
+   The build directory where the package has been build.
+
+*buildenv (array)*::
+   The set BUILDENV from makepkg.conf.
+
+*options (array)*::
+   A combination of the OPTIONS set in makekg.conf merged with the options 
set
+   in the used PKGBUILD.
+
+*installed (array)*::
+   The installed packages at build time including the version of the 
package.
+   Formatted as "$pkgname-$pkgver-$pkgrel".
+
+See Also
+
+linkman:makepkg[8], linkman:pacman[8], linkman:makepkg.conf[5]
+
+include::footer.txt[]
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 44e32996..bbf2af66 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -15,7 +15,8 @@ ASCIIDOC_MANS = \
PKGBUILD.5 \
makepkg.conf.5 \
pacman.conf.5 \
-   libalpm.3
+   libalpm.3 \
+   BUILDINFO.5
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
@@ -58,6 +59,7 @@ EXTRA_DIST = \
PKGBUILD-example.txt \
makepkg.conf.5.txt \
pacman.conf.5.txt \
+   BUILDINFO.5.txt \
libalpm.3.txt \
footer.txt \
index.txt \
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 18bc2a19..ec2d6f82 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -6,7 +6,7 @@ PKGBUILD(5)
 
 Name
 
-PKGBUILD - Arch Linux package build description file
+PKGBUILD - Makepkg build description file
 
 
 Synopsis
-- 
2.15.1


Re: [pacman-dev] [PATCH 1/1] Add BUILDINFO man page

2018-01-05 Thread Jelle van der Waa
Thanks for the review!

On 01/04/18 at 07:23pm, Andrew Gregory wrote:
> On 01/01/18 at 02:53pm, Jelle van der Waa wrote:
> > +
> > +BUILDINFO - Arch Linux package build information file
> 
> I know you copied this from PKGBUILD(5), but we really shouldn't be
> specifically referencing Arch in documentation other than as the
> upstream source or the expansion of ALPM.  Just refer to makepkg here.

Yup, I agree wil adjust this.
> 
> > +
> > +Synopsis
> > +
> > +BUILDINFO
> 
> I'm assuming you just copied PKGBUILD(5) here, but this is a pretty
> useless section.  If we're going to have a Synopsis section, I would
> include some basic information like what BUILDINFO actually is (a
> description of a package's build environment), the version of the
> format that is being described, and the basic format (key-value pairs
> separated by '=', one value per line).  Otherwise that information
> needs to be added to Description.

I'll adjust this in v2.

> > +
> > +Description
> > +---
> > +This manual page describes the format of a BUILDINFO file usually found in 
> > a
> > +package created by makepkg.
> > +
> > +Contents
> > +
> 
> To my knowledge, Contents is not a commonly used man page section, I'd
> just throw all of this in Description.

Ack.

> > +The following is a list of the contents and a description of the key value 
> > pairs
> > +in a BUILDINFO file.
> > +
> > +*format*::
> > +   Denotes the file format, represented by a number.
> 
> Can we be more specific here?  @Allan: do you intend to keep this as
> a plain integer or use something more complex for updates?

More specific as in? I guess "file format version" would be more
specific?

> > +*pkgname*::
> > +   The name of the package.
> > +
> > +*pkgbase*::
> > +   The name used to refer to the group of packages in the output of 
> > makepkg.
> 
> I find this wording is confusing.  For packages, "group" typically
> refers to package groups, not split packages.

Maybe the PKGBUILD man page needs a patch to reword this. I'll try to
improve the text.

> 
> > +*pkgver*::
> > +   The version of the package including pkgrel and epoch.
> > +
> > +*pkgbuild_sha256sum*::
> > +   The sha256sum of the PKGBUILD used to build the package.
> 
> In hex format.
> 
> > +*packager*::
> > +   The packager which has built the package.
> > +
> > +*builddate*
> 
> Missing ::
> 
> > +   The build date of the package in epoch.
> > +
> > +*builddir*::
> > +   The build directory from which makepkg has been invoked.
> 
> Not true; it's where the package is built.
> 
> > +*buildenv (array)*::
> > +   The set BUILDENV from makepkg.conf.
> 
> Nowhere is it described what it means for a key to be an array.  It
> would probably be a good idea to specifically mention that disabled
> options may be included with at '!' prefix.

Do you mean I should describe what an array is? I guess that should be
done in the Synopsis.

 
> > +*options (array)*::
> > +   A combination of the OPTIONS set in makekg.conf merged with the options 
> > set
> > +   in the used PKGBUILD.
> 
> Ditto.
> 
> > +*installed (array)*::
> > +   The installed packages at build time including the version of the 
> > package.
> 
> The actual format of the package name and version should be described
> here.  Looking at the actual code, this is also broken for any
> packages that include spaces in the name...

Spaces in a name is not legal I assume?

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


[pacman-dev] [PATCH 1/1] Add BUILDINFO man page

2018-01-01 Thread Jelle van der Waa
Add a new man page which describes the structure of a BUILDINFO file
included in a package produced by makepkg.

Signed-off-by: Jelle van der Waa <je...@vdwaa.nl>
---
 doc/BUILDINFO.5.txt | 65 +
 doc/Makefile.am |  4 +++-
 2 files changed, 68 insertions(+), 1 deletion(-)
 create mode 100644 doc/BUILDINFO.5.txt

diff --git a/doc/BUILDINFO.5.txt b/doc/BUILDINFO.5.txt
new file mode 100644
index ..1a454497
--- /dev/null
+++ b/doc/BUILDINFO.5.txt
@@ -0,0 +1,65 @@
+/
+vim:set ts=4 sw=4 syntax=asciidoc noet spell spelllang=en_us:
+/
+BUILDINFO(5)
+
+
+Name
+
+BUILDINFO - Arch Linux package build information file
+
+
+Synopsis
+
+BUILDINFO
+
+
+Description
+---
+This manual page describes the format of a BUILDINFO file usually found in a
+package created by makepkg.
+
+Contents
+
+The following is a list of the contents and a description of the key value 
pairs
+in a BUILDINFO file.
+
+*format*::
+   Denotes the file format, represented by a number.
+
+*pkgname*::
+   The name of the package.
+
+*pkgbase*::
+   The name used to refer to the group of packages in the output of 
makepkg.
+
+*pkgver*::
+   The version of the package including pkgrel and epoch.
+
+*pkgbuild_sha256sum*::
+   The sha256sum of the PKGBUILD used to build the package.
+
+*packager*::
+   The packager which has built the package.
+
+*builddate*
+   The build date of the package in epoch.
+
+*builddir*::
+   The build directory from which makepkg has been invoked.
+
+*buildenv (array)*::
+   The set BUILDENV from makepkg.conf.
+
+*options (array)*::
+   A combination of the OPTIONS set in makekg.conf merged with the options 
set
+   in the used PKGBUILD.
+
+*installed (array)*::
+   The installed packages at build time including the version of the 
package.
+
+See Also
+
+linkman:makepkg[8], linkman:pacman[8], linkman:makepkg.conf[5]
+
+include::footer.txt[]
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 44e32996..bbf2af66 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -15,7 +15,8 @@ ASCIIDOC_MANS = \
PKGBUILD.5 \
makepkg.conf.5 \
pacman.conf.5 \
-   libalpm.3
+   libalpm.3 \
+   BUILDINFO.5
 
 DOXYGEN_MANS = $(wildcard man3/*.3)
 
@@ -58,6 +59,7 @@ EXTRA_DIST = \
PKGBUILD-example.txt \
makepkg.conf.5.txt \
pacman.conf.5.txt \
+   BUILDINFO.5.txt \
libalpm.3.txt \
footer.txt \
index.txt \
-- 
2.15.1


Re: [pacman-dev] Pacman configuration parser library

2017-01-03 Thread Jelle van der Waa
On 01/04/17 at 07:48am, Xyne wrote:
> On 2017-01-02 19:58 +0100
> Jelle van der Waa wrote:
> 
> >I'd like to chime in that I would love to see pyalpm to stop using it's
> >self written config parser. I've put it on my TODO list, but I'm not
> >sure when I'll be able to look at it.
> 
> At the risk of it becoming vaporware, I'm working on this right now. I
> already have a working shared library for src/pacman/conf.h (via CMake) and 
> the
> beginnings of a Python extension module for working with it (so far it only
> includes a wrapper around "parseconfig" and a class for config_repo_t).
> 
> As I was writing that module I realized that I need most of alpm so I've 
> started
> writing my own Python module for that too. I'm using scripts to automatically
> generate code for all of the enums and structs to ensure uniformity. The idea
> is to provide a module with a 1-to-1 correspondence with alpm.h (all enums as
> globals, classes for each struct, identical function names) along with utility
> modules for convenience code (e.g. convert enums to strings). This will make 
> it
> much easier to maintain.

Interesting, are you using CFFI or are you generating C code for
CPython?

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


Re: [pacman-dev] [PATCH] makepkg: Verify git signatures

2017-01-02 Thread Jelle van der Waa
On 01/03/17 at 03:22pm, Allan McRae wrote:
> On 17/12/16 04:56, Eli Schwartz wrote:
> > A git repository is marked as signed if it contains the query "signed"
> > as defined by https://tools.ietf.org/html/rfc3986
> > 
> > Adds two utility functions in util/source.sh.in to extract fragments and
> > queries, and modifies source/git.sh.in to use them.
> > 
> 
> Needs documentation added.  e.g. can the query string occur anywhere
> relative to the fragment?
> 
> > Signed-off-by: Eli Schwartz <eschwart...@gmail.com>
> > ---
> >  .../libmakepkg/integrity/verify_signature.sh.in| 56 
> > ++
> >  scripts/libmakepkg/source/git.sh.in| 11 ++---
> >  scripts/libmakepkg/util/source.sh.in   | 27 +++
> >  3 files changed, 76 insertions(+), 18 deletions(-)
> > 
> > diff --git a/scripts/libmakepkg/integrity/verify_signature.sh.in 
> > b/scripts/libmakepkg/integrity/verify_signature.sh.in
> > index 6df62727..634958f9 100644
> > --- a/scripts/libmakepkg/integrity/verify_signature.sh.in
> > +++ b/scripts/libmakepkg/integrity/verify_signature.sh.in
> > @@ -32,11 +32,12 @@ check_pgpsigs() {
> >  
> > msg "$(gettext "Verifying source file signatures with %s...")" "gpg"
> >  
> > -   local file ext decompress found pubkey success status fingerprint 
> > trusted
> > +   local netfile file ext decompress found pubkey success status 
> > fingerprint trusted
> > local warning=0
> > local errors=0
> > local statusfile=$(mktemp)
> > local all_sources
> > +   local proto dir fragment query fragtype fragval
> >  
> > case $1 in
> > all)
> > @@ -46,15 +47,38 @@ check_pgpsigs() {
> > get_all_sources_for_arch 'all_sources'
> > ;;
> > esac
> > -   for file in "${all_sources[@]}"; do
> > -   file="$(get_filename "$file")"
> > -   if [[ $file != *.@(sig?(n)|asc) ]]; then
> > +   for netfile in "${all_sources[@]}"; do
> > +   file="$(get_filename "$netfile")"
> > +   proto="$(get_protocol "$netfile")"
> > +   dir=$(get_filepath "$netfile")
> > +   fragment=$(get_uri_fragment "$netfile")
> > +   query=$(get_uri_query "$netfile")
> > +
> > +   if [[ $proto = git* && $query = signed ]]; then
> > +   case ${fragment%%=*} in
> > +   tag)
> > +   fragtype=tag
> > +   fragval=${fragment##*=}
> > +   ;;
> > +   commit|branch)
> > +   fragtype=commit
> > +   fragval=${fragment##*=}
> > +   ;;
> > +   '')
> > +               fragtype=commit
> > +   fragval=HEAD
> > +   esac
> 
> I'm guessing other modern VCS tools can have signatures verified too?
> This function will become a mess when they are included.  Please split
> out git and standard file verification to their own functions called
> within this one.

It seems that SVN does not support signing commits, CVS has no support
for it either and mercurial has an extension for it. [1]

[1] https://www.mercurial-scm.org/wiki/GpgExtension 

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


Re: [pacman-dev] Pacman configuration parser library

2017-01-02 Thread Jelle van der Waa
On 01/01/17 at 11:34pm, Andrew Gregory wrote:
> On 01/02/17 at 09:10am, Allan McRae wrote:
> > On 02/01/17 06:48, Xyne wrote:
> > > Happy new year!
> > > 
> > > It would be useful for third-party developers to have access to the Pacman
> > > configuration file parsing functions and datatypes in src/pacman/conf.h. 
> > > Would
> > > you consider providing a shared library for this (or adding it to 
> > > libalpm)? It
> > > would be more reliable than third-party custom parsers.
> > > 
> > > Aside from providing the actual shared object file, the only change 
> > > needed*
> > > would be to remove the lines from parseconfig (conf.c) that free 
> > > config->repos
> > > so that users could access repo information directly via config->repos 
> > > after
> > > invoking the function (config_free will free that memory later).
> > > 
> > 
> > This is on the todo list (along with adding pacconf for easy access to
> > the configuration from scripts).
> > 
> > I don't think anyone is actively working on it...
> > 
> > A
> 
> I don't particularly care about providing a config parsing lib with
> pacman and have no desire whatsoever to figure out how to get
> autotools to make such a lib.  If it's something we're going to do
> though, it would probably make sense to just incorporate the pacutils
> parser.

I'd like to chime in that I would love to see pyalpm to stop using it's
self written config parser. I've put it on my TODO list, but I'm not
sure when I'll be able to look at it.

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


Re: [pacman-dev] makepkg: verify git sources

2016-12-08 Thread Jelle van der Waa
On 12/08/16 at 07:56am, Eli Schwartz wrote:
> On 12/08/2016 03:14 AM, Jelle van der Waa wrote:
> > On 12/07/16 at 09:00pm, Eli Schwartz wrote:
> >> On 12/07/2016 03:48 PM, Jelle van der Waa wrote:
> >>> * git url, but no #tag= or #commit= specified, should verify HEAD on the
> >>>  #branch or no tag, commit, branch case.
> >>
> >> I imagine that should be handled just like #commit= using verify-commit
> >> HEAD, why does it need to be special-cased?
> > 
> > Well with #commit you specify a certain commit, so I would say you want
> > to verify that commit.
> 
> Hu... right. We're checking the bare source repo, not the copy in
> $srcdir which is checked out to the correct $commit.
> Too true. :o
> 
> >> Or put another way, how should a PKGBUILD declare that git GPG
> >> verification is demanded, for that particular source?
> > 
> > I'd say if it has validpgpkeys=('234234') we verify the git tag. Which
> > would require extracting the VALIDGSIG 23423 from git verify-tag --raw
> > v12.
> 
> What happens when you have validpgpkeys and want to check a file but the
> repository is not signed? What happens when you have two repositories
> and only one is signed?

Yes that's tricky, and exactly why I wanted to start a discussion here
:)


-- 
Jelle van der Waa


signature.asc
Description: PGP signature


Re: [pacman-dev] makepkg: verify git sources

2016-12-08 Thread Jelle van der Waa
On 12/07/16 at 09:00pm, Eli Schwartz wrote:
> On 12/07/2016 03:48 PM, Jelle van der Waa wrote:
> > * git url, but no #tag= or #commit= specified, should verify HEAD on the
> >  #branch or no tag, commit, branch case.
> 
> I imagine that should be handled just like #commit= using verify-commit
> HEAD, why does it need to be special-cased?

Well with #commit you specify a certain commit, so I would say you want
to verify that commit.

> > * Not parsing or tested invalid signed tags, not sure how git verify-tag
> >   displays errors so that needs more work.
> 
> Non-signed tags return an "error: no signature found", non-signed
> commits just return an error.

Yup, but what about other LOCALE's? Guess it needs a LOCALE=C git..
 
> > * I would like to move the git verification into source/git.sh.in and
> >   then re-use the code which extracts #branch, #commit etc. It would
> >   also reduce the clutter in verify_signature.sh.in. Another idea is to
> >   move the verification into integrity/verify_git.sh.in.
> 
> Or extract the logic into a new function and reuse it in integrity/
> 
> > * Changing the directory is cumbersome. git offers git -C $path
> >   verify-tag $tag to resolve that.
> > * Multiple sources, .tar.gz{,asc} and a git one. (Rare but should be
> >   handled) Or multiple git sources.
> 
> Or put another way, how should a PKGBUILD declare that git GPG
> verification is demanded, for that particular source?

I'd say if it has validpgpkeys=('234234') we verify the git tag. Which
would require extracting the VALIDGSIG 23423 from git verify-tag --raw
v12.

> I have something similar-ish, but probably a lot uglier :p here:
> https://github.com/eli-schwartz/pacman/commit/edde351d919a5baf8c31764c5cfe9e058a2a5771

Hmm looks less ugly somehow though ;-)

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


[pacman-dev] makepkg: verify git sources

2016-12-07 Thread Jelle van der Waa
Hi,

I would like to work on verifying git signed tags. So far I've actually
managed to hack it into makepkg, but by missing a lot of edge cases and
well writing an ugly implementation. [1]
Some of this work has been borrowed from the systemd PKGBUILD. [2]

Example with vte3-ng:

==> Validating source files with md5sums...
vte-ng ... Skipped
==> Verifying source file signatures with gpg...
vte-ng ... Passed


Of course the hacks I've put in there are never going to be accepted
even if I bribe Allan with a case of bourbon.

I can think of the following issues, edge-cases which need to be
handled:

* git url, but no #tag= or #commit= specified, should verify HEAD on the
 #branch or no tag, commit, branch case.
* Not parsing or tested invalid signed tags, not sure how git verify-tag
  displays errors so that needs more work.
* I would like to move the git verification into source/git.sh.in and
  then re-use the code which extracts #branch, #commit etc. It would
  also reduce the clutter in verify_signature.sh.in. Another idea is to
  move the verification into integrity/verify_git.sh.in.
* Changing the directory is cumbersome. git offers git -C $path
  verify-tag $tag to resolve that.
* Multiple sources, .tar.gz{,asc} and a git one. (Rare but should be
  handled) Or multiple git sources.

So tl;dr, I would love to see a pointer where I should call my own
verification function for git sources or any other edge-cases I've
missed :)

[1] 
https://github.com/jelly/pacman/commit/5172a74ed9de422429d18034841acf8025fd34c8
[2] 
https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/systemd

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


Re: [pacman-dev] Versioned packages

2016-09-12 Thread Jelle van der Waa
On 09/12/16 at 09:47am, Sergey Petrenko via pacman-dev wrote:
> Should I spam kernel package maintainers then, or maybe someone will resolve 
> bug as wontfix?

Not sure why they need to be spammed, you can easily build linux47 as a
package and install it separate from the normal linux package. But I
guess you want to automatically retain your current installed linux pkg
when you upgrade to a newer version?

> 
> 
> >Суббота, 10 сентября 2016, 0:58 +03:00 от Allan McRae <al...@archlinux.org>:
> >
> >On 10/09/16 08:41, Sergey Petrenko via pacman-dev wrote:
> >> Here is my attempt to solve seven years old infamous problem:
> >>  https://bugs.archlinux.org/task/16702
> >> 
> >> Patch won't solve problem out of the box, a small changes in kernel 
> >> PKGBUILD
> >> will be required, but only concerning install part.
> >> 
> >> Idea behind patch is pretty simple:
> >> 1) Configure list of packages and number of old versions pacman should try 
> >> to preserve.
> >> 2) When upgading to new version, keep old in place, if it has no file 
> >> conflicts with new one, and mark it as `archived`, remove oldest 
> >> `archived` 
> >> version instead.
> >> 
> >> Most of time pacman treats `archived` packages as if they aren't installed.
> >> For now it won't check package conflicts and dependencies, only file 
> >> conflicts 
> >> with newer versions. It's only an outline of full solution, proof of 
> >> concept 
> >> to illustrate the idea.
> >> 
> >> I'd like to hear opinion of community whether this problem should be 
> >> solved 
> >> at all, or is it more like a feature of ArchLinux, and if it should, 
> >> whether
> >> such approach suits ArchLinux's philosophy.
> >> 
> >
> >How is this better than having a package file sitting in the cache?
> >
> >The "kernel problem" in Arch is not because it is not possible to have
> >multiple kernel packages available.  Other distributions provide endless
> >amounts of kernels (e.g. Manjaro).
> >
> >I don't see anything that needs done on the package manager end for this.
> >
> >Allan
> 
> 
> -- 
> With wish of constant improvement
> and unstoppable creativity.
> Sergey Petrenko

-- 
Jelle van der Waa


signature.asc
Description: PGP signature


Re: [pacman-dev] Mark outdated packages automatically (aka Livecheck)

2013-03-24 Thread Jelle van der Waa
On 24/03/13 19:23, Lukas Fleischer wrote:
 On Sun, Mar 24, 2013 at 11:12:05AM -0700, Anatol Pomozov wrote:
 Hi,

 I believe in automatization. Any routine work that can be done
 automatically should be done this way.

 One such thing that can be improved in Arch project is discovering
 out-of-date packages. Currently it is done by users who go to
 https://www.archlinux.org/packages/ find the package and then click
 Flag Package Out-of-Date link. Why to bother users? Why not to let
 some bot to visit websites and check for new versions?

 There are examples of package managers that have such functionality -
 macports http://guide.macports.org/chunked/reference.livecheck.html
 Their Portfiles can have information about how to find released files
 (using regexp). Then periodically (e.g. daily) a bot visits webpages,
 parses html and checks if new files are present.

 Is it possible to have such functionality in pacman? It would save
 users time and make package update time lower.
 
 Some developers and Trusted Users already use tools to check websites
 for updates. I agree that it might be better to do this in a central
 location but this is certainly not a pacman issue. Maybe we could add
 something to archweb (or just use a bot, as you already mentioned).
 
IIRC most Dev/TU's use urlwatcher. Adding it to archweb would indeed
awesome.

The archweb code is available at [1].

[1] https://projects.archlinux.org/archweb.git/



signature.asc
Description: OpenPGP digital signature



Re: [pacman-dev] Unable to compile pacman in ubuntu-11.10

2012-03-28 Thread Jelle van der Waa
On Wed, Mar 28, 2012 at 9:02 AM, Talespin Kit talespin_...@yahoo.comwrote:



 You're going to have much better luck just transferring the pacman XZ
 zipped package to the machine and unzipping it directly in '/', then
 removing the /.PKGINFO and /.INSTALL file it will leave behind.

 I would like to modify the sources and understand the pacman code. so
 compiling the sources is a necessary.


 You probably need the gettext development package installed.

 I have installed the gettext package version 0.8.1.1-3ubuntu1 and it
 compiles the files in the **pacman/lib/libalpm/po** directory.
 Thank you for the info.

 But the make file reports error in **pacman/src/util** directory.

 $ make
 make  all-recursive
 make[1]: Entering directory `/home/user/tmp/pacman'
 Making all in lib/libalpm
 make[2]: Entering directory `/home/user/tmp/pacman/lib/libalpm'
 Making all in po
 make[3]: Entering directory `/home/user/tmp/pacman/lib/libalpm/po'
 make[3]: Leaving directory `/home/user/tmp/pacman/lib/libalpm/po'
 make[3]: Entering directory `/home/user/tmp/pacman/lib/libalpm'
 make[3]: Nothing to be done for `all-am'.
 make[3]: Leaving directory `/home/user/tmp/pacman/lib/libalpm'
 make[2]: Leaving directory `/home/user/tmp/pacman/lib/libalpm'
 Making all in src/util
 make[2]: Entering directory `/home/user/tmp/pacman/src/util'
   CCLD   testpkg
 ../../lib/libalpm/.libs/libalpm.so: undefined reference to `MD5_Init'
 ../../lib/libalpm/.libs/libalpm.so: undefined reference to `MD5_Final'
 ../../lib/libalpm/.libs/libalpm.so: undefined reference to `SHA256_Init'
 ../../lib/libalpm/.libs/libalpm.so: undefined reference to `SHA256_Update'
 ../../lib/libalpm/.libs/libalpm.so: undefined reference to `MD5_Update'
 ../../lib/libalpm/.libs/libalpm.so: undefined reference to `SHA256_Final'

 Seems like MD5 related library has to be installed. I do not know which
 one to install. I was expecting ./configure scritpt to report about these
 required libraries.

 Br,
 Talespin


sounds like you didn't google, since googling this issue shows me that
people tried to include openssl.h. So the issue could be that you are
missing openssl-dev. Take a look at pacman's dependencies with:

pactree pacman

-- 
Jelle van der Waa



Re: [pacman-dev] Discussion about deprecating/removing the changelog feature from pacman.

2011-06-23 Thread Jelle van der Waa

On 06/23/2011 09:09 PM, Andrea Scarpino wrote:

On Thursday 23 June 2011 11:54:34 Dan McGee wrote:

Sure, but this is Arch specific. I obviously had no intention of
removing delta, xz, etc. but my point is the changelog functionality
is exactly the same- it is a tool to use, but not something to be
removed if it is not used.

I agree with Dan here.

I don't use the changelog feature, but maybe I, and we in general, should
start to use it. pacman -Qc $pkg works for offline usage and is more fast then
open the browser-go to the package page-svn log.

The main problem is not all packages providing a CHANGELOG in their 
packages. I'd say the feature is usefull, for archlinux more usefull if 
it's used more often ;)



--
Jelle van der Waa




Re: [pacman-dev] Package signing in pacman

2011-05-20 Thread Jelle van der Waa
On Fri, May 20, 2011 at 2:44 PM, ari edelkind 
edelkind+arch-pac...@gmail.com wrote:

 yaro at marupa wrote:
  It's under development. To be honest a lot of Arch users are tired of
  this discussion popping up. If you want it to show up sooner, then you
  could help by submitting patches of your own to the pacman developers.
 
  It'll get here when it gets here.

 This is a poor attitude.  A better attitude would be, Here's how you
 can help: ...

 ... Submitting patches of your own is an invalid continuation of
 that response.  Patches?  For what?  Where's the documentation of the
 way it should function?  Where's the documentation of the current
 infrastructure?  Where's the specific information about what's left to
 do?  Is the information recent?

 This page:
 https://wiki.archlinux.org/index.php/Package_Signing_Proposal_for_Pacman

 ... is a proposal.  It was last edited a year ago.  It does not help.

 This page:
 https://bugs.archlinux.org/task/5331

 ... is a task ticket, in the tracker, but it doesn't offer much in
 the way of relevant information.  It does not help.

 This page:
 https://wiki.archlinux.org/index.php/User:Allan/Package_Signing

 ... was updated within the past month, at least, but is, as far as i
 can tell, a brain dump for Allan himself.  Information is sparse,
 implementation details are almost nonexistent, and TODO items are
 vague.  It does not help.

 In 2010, based on information present in the above-referenced tracker
 ticket, i tried contacting the Arch developers who appeared to be
 involved, offering to contribute, and got no response.  Allan's
 Package_Signing page didn't exist yet.  As far as i can tell, at this
 point, that ticket is even assigned to the wrong person.  You can't
 make it difficult for people to contribute and then complain that you
 aren't receiving contributions.

 I'm not downplaying the effort that Allan (et al.?) has put forth -- i
 think it's excellent!  But so far, this has all the markings of a
 single-person project, being coded by someone who doesn't _want_
 contributions.

You're wrong here, it's not a single person project, i have seen Dan and
others commit  package signing implementations too.
For example:
http://projects.archlinux.org/devtools.git/commit/?id=c16e7c25c9432e0d2f0fdeea30f08ad2ffe6950b


 Typically, here's what people who do want contributions supply:
  - an overview of the program internals and general API

 http://code.toofishes.net/pacman/doc/

  - details about how the current project _should_ function.
  - API notes on what has been implemented for the current project thus far.
  - DETAILS on what portions of the project remain, so that others can
 pick them up.

 I can do without the overview of program internals.  The latter three
 are rather more important.

 So, why not adopt a better attitude -- indeed, perhaps a better method
 -- and actually try to get contributors?

 In case it still isn't clear:
 I'd love to help.  I'd love to write patches.  I'd love to submit
 them.  I'd love to see pacman package signing in operation, so much so
 that i'm willing to devote some of my scant time to do so.  Now,
 somebody (Allan?), please make it reasonable for me, and others like
 me, to even try.

Probably the biggest obstacle is implementing the infrastructure. If i am
correct devtools is already done. (not sure though)

Thanks,
 ari




-- 
Jelle van der Waa



Re: [pacman-dev] Package signing in pacman

2011-05-17 Thread Jelle van der Waa

On 05/17/2011 11:57 AM, Dark Byte wrote:

Hello dear pacman developer mailing list readers.

Right now my favourite distribution for a lot of cases would be Arch, but i
have concerns about security as there (right now) is no package signing
mechanism established in pacman. I've been asking in the #archlinux IRC
channel and goit pointed here. Could someone give me any further information
about the ongoing process of implementing package signing mechanism in
pacman? Thanks a lot.

Yours sincerely,

- Armin

It's a work in progress. It's not an easy task to implement the pkg 
signing infrastructure.

You could look at the devtools and pacman git repo and the wiki
https://wiki.archlinux.org/index.php/Package_Signing_Proposal_for_Pacman
https://wiki.archlinux.org/index.php/Pacman_Roadmap

Althought i don't know how up to date the pages are.

--
Jelle van der Waa




Re: [pacman-dev] [ Package Signing ] Your signature please

2011-02-19 Thread Jelle van der Waa
On Sat, 2011-02-19 at 20:05 +0100, Alf Gaida wrote: 
 Yeah! Archers deserve to die!
 
 But really I'm not convinced by this hyper-paranoia trash.
 There will always be ways to compromise your machine. Someone who would
 go through the trouble of setting up a proxy mirror and injecting
 malicious code into seemingly normal packages is probably going to find
 other ways. Package signing will not protect you.
 
 You will never be safe.
 The truth is out there.
 This is opensource  - if you would create real trouble, just help with kernel-
 modules. ;) The only difference is, in other distributions these errors came 
 through your system signed.
 
 Why hacking, when simple development is so easy? 
 

I don't understand what you are saying, but in short.

You can't force Allan / any pacman-dev to create package signing for
pacman. If you really want to get this feature into pacman/archlinux
(dbscripts etc. needs to be redone too):

-read the code
-add patches
-wait for devs to sign them off

on a side note:
http://media.ccc.de/browse/congress/2010/27c3-4295-en-high_speed_high_security_cryptography.html

-- 
Jelle van der Waa


signature.asc
Description: This is a digitally signed message part