- 14 Mar, 2018 13 commits
-
-
Allan McRae authored
make update-copyright OLD=2017 NEW=201 Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Stefan Klinger <git@stefan-klinger.de> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
makepkg configures the umask 0022 as a sane default for building packages. After installing dependencies, it sources `/etc/profile` again. If the user configured a umask other than Arch's default of 0022 (or 022) in `/etc/profile`, this sane default is now gone and needs to be set again. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
In order to detect if pkgver contains whitespace, we need to quote it. Previously, only the characters up to the first whitespace was checked. Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Rikard Falkeborn <rikard.falkeborn@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Before this change, LC_TIME=zh_TW.UTF-8 makepkg has the following line: ==> Making package: foobar 1-1 (日 2月 11 01:13:42 CST 2018) With this patch, this line becomes: ==> Making package: foobar 1-1 (西元2018年02月11日 (週日) 01時13分57秒) The latter is more natural for a Chinese native speaker. Signed-off-by:
Chih-Hsuan Yen <yan12125@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
The acinclude.m4 uses AS_VAR_APPEND macro. This marco is introduced in 2.64[1], hence we bump AC_PREREQ to 2.64 to avoid undefined marco on 2.63 autoconf. [1] https://lists.gnu.org/archive/html/autoconf/2009-07/msg00079.html Signed-off-by:
Huáng Jùnliàng <i@jhuang.me> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
bump libarchive requirement to >= 3.0.0 as we use `archive_write_free` available from 3.0.0 Signed-off-by:
Huáng Jùnliàng <i@jhuang.me> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
They're all generated during make. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Currently this seems to be only theoretically useful. The most likely reason for wanting a packagelist is in order to script makepkg and derive the filenames for the packages we want to install or repo-add, but in the current implementation this requires a lot of additional post-processing which must be duplicated in every utility to wrap makepkg. - It is of minimal use to know what packages might get created on some other device utilizing a different CPU/OS architecture, so don't list them. - It is non-trivial to reimplement makepkg's logic for sourcing any of several makepkg.conf configuration files, then applying environment overrides in order to get the PKGDEST and PKGEXT, so include them directly in the returned filenames. - Output is delimited by newlines, for readability. For maximum parsing reliability, libmakepkg needs to learn how to lint the PKGDEST and PKGEXT variables to ensure they do not contain newlines, which will be submitted in a separate patch. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 06 Feb, 2018 2 commits
-
-
Query operations act on the local db, not the filesystem. Also, a valid use case for -Qo is to discover what package owns a deleted file so it can be reinstalled. Closes FS#55856. Signed-off-by:
Ivy Foster <iff@escondida.tk> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
S_ISDIR is int and "returns non-zero" if the file is a directory. Signed-off-by:
Ivy Foster <iff@escondida.tk> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 19 Jan, 2018 8 commits
-
-
Allan McRae authored
The --root option was widely misunderstood, and is now replaced by --sysroot. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
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 <jelle@vdwaa.nl> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Recent versions of GnuPG are perfectly capable of using sane defaults, and the default SKS keyserver over hkps:// is better than hardcoding the same keyserver over hkp:// anyway. Fixes FS#55278 Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Fixes FS#49093 Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
In commit ab2be579 return codes were implemented, and the output of install_package was improperly assigned to a variable when the return code was wanted. All we need to do is restore the previous exit handling, but return $? instead of hardcoding "0". Reported-by:
xftroxgpx <xftroxgpx@protonmail.com> Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Joel Teichroeb <joel@teichroeb.net> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Because parsing pacman.conf is so difficult that even we can't do it right. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Parsing pacman's configuration file is non-trivial and extremely difficult to do correctly from scripts; even our own do it incorrectly. pacman-conf is a dedicated tool specifically to allow scripts to parse config files, getting the same value that pacman itself would use. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 18 Jan, 2018 2 commits
-
-
Default values for configuration settings were being set during alpm setup and in some cases were never saved back to the original config struct. Refactoring all default settings into a separate function and saving them onto the original config struct will allow pacman-conf to resolve the defaults without having to setup alpm. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
To allow pacman-conf to parse the configuration file without having to also setup alpm. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 11 Jan, 2018 1 commit
-
-
Allan McRae authored
RFC 4880 defines two packet formats for OpenPGP. Pacman aborted its key in keyring check with an error message if it encountered the new format. This was fine until some annoying Arch Trusted User generated a key using the new format! Implement the new format. This also required parsing the hashed sub packets. requiring the parsing code to moved to its own function. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 10 Jan, 2018 3 commits
-
-
Allan McRae authored
Commit 8bec63bf attempted to switch to using -fdebug-prefix-map to set file locations in debug packages. It make a few mistakes... 1) Adding debug C{,XX}FLAGS only worked if DBGSRCDIR was defined in makepkg.conf. Fix this by falling back to the default value. 2) Using -fdebug-prefix-map altered a lot of assumptions about file locations when copying source files into debug packages. This resulted in lots of messages of failed cp in packaging output. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
If rehash ever failed with a full hash it would return the old hash that is already full. get_hash_position would then loop forever because it would never find an empty bucket. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 09 Jan, 2018 2 commits
-
-
Allan McRae authored
If you manage to download a bad database (e.g. an html file when behind a proxy or with a badly configured webserver), pacman makes sure you know about it. Here is some example output: error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format error: could not open file /var/lib/pacman/sync/extra.db: Unrecognized archive format I don't know how many times that gets printed because it goes beyond my scrollback buffer. Flag a database that we can "open" and "fstat" but not read from as invalid to avoid this. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Allan McRae authored
Passing an empty string to pacman -Qo results in: error: No package owns <first directory in $PATH> Catch empty strings and report an error. Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 06 Jan, 2018 7 commits
-
-
6cfc4757 was overzealous in attempting to optimize away a call to strcmp based on a comparison of hashes. The call can be skipped if the hashes are different, but different strings could have the same hash. Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
I think two ways to ask for this are enough for everyone, and we have never documented this anyway. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Frontends rely on an initialization call for setup between downloads. Checking for intialization after checking for a completed download can skip initialization in cases where files are small enough to be downloaded all at once (FS#56408). Relying on previous download size can result in multiple initializations if there are multiple non-transfer events prior to the download starting (fS#56468). Introduce a new cb_initialized variable to the payload struct and use it to ensure that the callback is initialized exactly once prior to any actual events. Fixes FS#56408, FS#56468 Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
Signed-off-by:
Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
In eaa82b4d source_has_signature() was modified to check if git repositories are marked as signed. However, due to a typo the unused variable $netfile was checked. This worked as long as the last source element was marked as signed, due to $netfile being mistakenly set as a global in check_vcs_software(), but usually failed with multiple sources. Break this more consistently by properly declaring $netfile as a local variable in check_vcs_software() which it should be regardless. Fix it again by completely moving over to $netfile in source_has_signature() as netfile is more descriptive of the current state. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
In 42e70202 creating the gpg statusfile for a source file was split into a separate function, which used the return code to indicate unsigned files and proto-specific errors. However, the fallback return code was set by the final gpg invocation, which would be 1 if the signature was somehow broken (for example, the key was not available in the gpg keyring). As a result makepkg thought that file did not have a signature and skipped over it rather than erroring out. Fix this by explicitly setting the return code for all verify_*_signature() functions. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
- 07 Dec, 2017 2 commits
-
-
In commit 8b0d59b8 support was added for storing the source files of binaries in debug packages. This made use of the debugedit program which is part of the RPM package manager, which is not very standalone. The same effect can be achieved using -fdebug-prefix-map, an option accepted by both the gcc and clang compilers which modifies how the compiler itself stores the references to the source files rather than requiring us to later edit the produced binaries. This also removes the dependency on external programs like debugedit. As a result of this change, source files will only be effectively added for programs which actually use the exported CFLAGS. This is a reasonable tradeoff as we expect our CFLAGS to be used rather than ignored. Upstream software which do not produce useful debug packages are expected to fix their build systems to respect the environment CFLAGS. As a result of this change, the routine for extracting source filenames from binaries had to be modified to derive the source file from the final debug location, rather than the other way around. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-
In commit 8b0d59b8 support was added for storing the source files of binaries in debug packages. Allow the user to specify where those source files should be stored via makepkg.conf Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org> Signed-off-by:
Allan McRae <allan@archlinux.org>
-