1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-15 22:05:02 -05:00
Commit Graph

1491 Commits

Author SHA1 Message Date
Dan McGee
591bfabbd3 Clean up libalpm/add.c and revise file extraction code
This is a full refactoring of _alpm_add_commit into multiple functions and a
better layout for later. Some highlights:

* No regressions in pactest performance.
* Much cleaner layout. add_commit is split into four functions:
  upgrade_remove, extract_single_file, commit_single_pkg, _alpm_add_commit
* No more super-functions, the heaviest (extract_single_file) is finally
  under 400 lines, with much improved commenting as well.
* Incorporation of Andrew Fyfe's ideas for fixing FS #7484. Try to handle
  all possible cases of extraction combinations with files, symlinks, dirs,
  and non-existant entries on the filesystem. This should make our dealings
  with libarchive fall more into our control.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-15 21:36:46 -04:00
Chantry Xavier
aaf291c11c Add new sync012 pactest.
This test installs three packages with a circular dependency,
to check everything still goes fine in that case.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-15 19:46:18 -04:00
Dan McGee
a909fe6018 Update AUTHORS file, change encoding to UTF-8
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-15 15:00:49 -04:00
Dan McGee
a1e57cbec8 Add --asdeps option to pacman
This replaces the former -D operation that was undocumented and rather
hacky. It can be used with add, upgrade, or sync transactions and will affect
all packages installed. Should close FS #7193.

Also tell makepkg to use this new flag.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-15 12:46:02 -04:00
Nagy Gabor
c2920033d0 libalpm/deps.c : cleanup + little fix for resolvedeps.
The resolvedeps function was a bit negligent, as showed by the sync011 pactest.
Reference :
http://www.archlinux.org/pipermail/pacman-dev/2007-July/008782.html

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-15 10:37:38 -04:00
Dan McGee
66b09410b4 Switch repo-add, repo-remove, and pacman-optimize to bsdtar
Relatively straightforward fixes (s/tar/bsdtar/g, add hyphens to options).

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-15 10:29:26 -04:00
Dan McGee
f0ea21cffc Ensure requiredby entries are removed during an upgrade
This fixes the failure of the requiredby004 pactest in a not so pretty way,
but it gets the job done. I purposely used the extremely long name of
PM_TRANS_TYPE_REMOVEUPGRADE to be both clear and in the hope that someone
else will figure out a better solution.

Original idea from Nagy Gabor, patch updated and cleaned for current code.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-14 09:34:39 -04:00
Nagy Gabor
ce1fb07436 libalpm/sync.c : ldconfig is run twice.
remove _alpm_ldconfig call from _alpm_sync_commit,
since sync operation causes an upgrade transaction,
where ldconfig is already run.

Reference:
http://www.archlinux.org/pipermail/pacman-dev/2007-April/008132.html

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-14 01:12:18 -04:00
Chantry Xavier
edcefb1d58 libalpm/remove.c : revert part of commit to fix remove044 pactest
In 1c9f30b9fa

This change should be done AFTER the TODO in recursedeps is implemented.
Then we'll be able to first sort the list, then call recursedeps which keeps
it sorted. For now, the sorting should still be done as the last step.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-13 17:18:27 -04:00
Dan McGee
b5ab4bffb7 Add TRANSLATORS file
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-13 16:01:17 -04:00
Nagy Gabor
9f9086573a Update hungarian translation
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-13 15:44:39 -04:00
Chantry Xavier
1c9f30b9fa libalpm/deps.c : fix for remove044 pactest.
Patch from Nagy that makes removedeps use alpm_depcmp.

I also renamed removedeps to recursedeps, as it can have
a more general usage, and added an include_explicit argument,
so we can control if packages explictly installed are added or not.

Note: Small changes made by me (Dan) as well- mostly some English grammar
correction and a few other cleanups.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-13 10:37:13 -04:00
Chantry Xavier
8d62835ba1 Remove conflict message for non-existent files (reworked)
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-13 10:18:52 -04:00
Chantry Xavier
5ed501565e remove sync022 and sync023 pactest.
Currently the replaces flag is only used for forcing the replacement
of package (eg because of a renaming) on sysupgrade operation.

If the replaces flag should also be used for resolving conflicts,
then it should be discussed and specified correctly first.

References:
http://bugs.archlinux.org/task/7415#comment17207
http://www.archlinux.org/pipermail/pacman-dev/2007-June/008553.html
commit which introduced the replace flag : 4fcec8f03f

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-13 10:11:54 -04:00
Chantry Xavier
7234785601 libalpm/remove.c : Rsd combination.
Currently the d (nodeps) option skips the s (recursive) part,
rendering the Rsd combination totally useless.
This patch makes a recursive removal still possible using the nodeps option,
as Romashka asked there :
http://bugs.archlinux.org/task/6057#comment17784

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-13 15:47:20 +02:00
Andrew Fyfe
c0a7d9d82d Some doxygen comments.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-12 16:00:58 -04:00
Dan McGee
d402583c43 Remove some more conditional include stuff
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-12 16:00:35 -04:00
Andrew Fyfe
fd3a1a92c8 Fix previous makepkg patch, and some pacman output.
makepkg: We still need the source files in $srcdir because PKGBUILDS need
         access to noextract() files and other file not handled by by
         extract_source(). (eg config files)

query.c: Fix some output formating.

Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-12 15:22:16 -04:00
Dan McGee
20f73d6299 Remove versioncmp.{c,h}, clean up selective #ifdefs
Remove versioncmp.c by moving all functions to locations that make sense.

Move replacement functions (for building without glibc) into util.c where
they belong, and do proper checks for them instead of using __sun__, etc.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-12 15:20:43 -04:00
Dan McGee
653fb8fe03 Remove 'buildtype' from libalpm and pacman
Remove unused buildtype field from pmpkg_t struct and anything associated
with it, as it is unused at the moment. If we need to readd it, it is an
easy revert of this commit.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-11 23:36:13 -04:00
Dan McGee
147a32b32d Add {PKGBUILD,install}.proto to contrib/ directory
Also update README and Makefile.am in the contrib/ directory.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-11 11:03:33 -04:00
Chantry Xavier
cb164c3130 conflict.c: start cleaning conflict check functions
The three chk_ functions overlap for packages both in targets and in the
database. This caused the same conflict to be found in both direction
(A conflicts with B, and B conflicts with A).

This patch avoids this duplication. which shouldn't be needed, but other
changes might be required for that to work correctly.

This also has the unexpected side effect to hide the failure of sync022
pactest, for FS #7415. That's maybe not a good thing though..

Note from Dan: sync022 does succeed, but a sync023 pactest added to check
regressions also seems to pass. This may be a valid fix to this 'problem'
sync022 was meant to find.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-11 00:48:03 -04:00
Dan McGee
37736a56f9 Add new pactest that is backwards of sync022
sync022 was added here:
39b6549655

This pactest reverses the installed package to see if it is correctly
picked, in order to test some further changes to this depcheck code that
currently makes sync022 fail.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-11 00:45:15 -04:00
Dan McGee
39b6549655 Update translation files on libalpm side after gettext change
Because of this commit:
ea1fef69ad
we lost a lot of gettext-ized messages on the libalpm side. Remove them
in order to clean out these files a bit.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-11 00:31:27 -04:00
Sergej Pupykin
1646fcc5bd Use mbstowcs instead of strlen where applicable
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-10 23:36:15 -04:00
Dan McGee
64e45a36f8 Create the pacman DB and cachedir directories upon install
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-10 14:58:45 -04:00
Dan McGee
d12c4f4b29 Fix issue with <dbpath>/db.lck being truncated
snprintf takes a length including the '\0' character, this wasn't accounted
for originally. Fix it.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-10 14:31:39 -04:00
Dan McGee
ea1fef69ad Remove gettext calls from all PM_LOG_DEBUG messages
There is no real reason to burden our translators with these messages, as
anyone helping to debug these will probably want them in English.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-10 14:24:58 -04:00
Andrew Fyfe
9a9928f1b8 Remove conflict message for no-existent files.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-10 11:35:32 -04:00
Andrew Fyfe
142225fd7d FS#7271 - [patch] option for avoiding caching netfiles
Change the behaviour of makepkg so no longer stores a copy of the
source tarball in $srcdir, instead it downloads all sources to $SRCDEST
then extracts them to $srcdir.

Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-10 11:18:17 -04:00
Chantry Xavier
862ea62761 add remove045 pactest.
Another test a bit more complicated for -Rs,
to prevent regression if removedeps is changed.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-10 11:10:54 -04:00
Nagy Gabor
c4e712c0ef add remove044 pactest.
This indicates a problem in the current removedeps function
(no version checking) for which Nagy proposed a fix here :
http://www.archlinux.org/pipermail/pacman-dev/2007-June/008539.html

But as he mentioned there, a better fix might be to use the checkdeps
function in the removedeps one.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-10 11:10:54 -04:00
Dan McGee
573b80405c makepkg: when running as root, cut out some warnings
When running as root, we don't care if fakeroot is installed, and the user
certainly isn't "unprivileged". Cut out these warnings.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-10 10:31:03 -04:00
Andrew Fyfe
5e68e9d451 Cleanup of pacman_deptest()
Clean up some left over code from
http://projects.archlinux.org/git/gitweb.cgi?p=pacman.git;a=commitdiff;h=7653bb93997f52848b54ab80868cd6da52808a75

Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-10 10:15:24 -04:00
Andrew Fyfe
7ec2e088ec scripts/makepkg.sh.in: Add CHOST to the list of variables exported.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-10 10:00:00 -04:00
Chantry Xavier
57d77eab32 libalpm/trans.c : exit the forked process correctly in case of errors.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-09 17:47:05 -04:00
Dan McGee
8f2575b26e Add AC_SYS_LARGEFILE to configure.ac
This defines _FILE_OFFSET_BITS == 64, which makes stat calls transparently
use stat64, etc. This allows us to support large files, such as packages
over 1 GB in size. libarchive was already correctly compiled with this macro.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 16:40:50 -04:00
Andrew Fyfe
7d74572887 Change the exit code for pacman_deptest().
Changed the exit code for missing deps from 1 to 127 because 1 is used
for other errors. makepkg breaks if pacman exits with 1 for any reason
other than a missing dep.

Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-09 15:57:38 -04:00
Dan McGee
1480ac29e4 Clean up the alpm handle
Add some comments in handle.h, and remove the pmaccess_t part that we
don't even use.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 15:23:26 -04:00
Dan McGee
d2613b97fa Add asciidoc checking to configure.ac, make manpage generation optional
Include manpages when we ship a package tarball, and allow them to be
generated by the end user if they want by using the --enable-asciidoc option
to ./configure. This will allow us to maintain manpages in an easier to modify
format while still keeping the make dependencies to a minimum.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 14:38:02 -04:00
Dan McGee
cd5b38a4b0 Add a manpage for repo-add
We still need some work here- we should have a repo-remove manpage link
to this one, and we should not have to struggle with asciidoc formatting
to get it to work like any other multiple-command manpage works.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 14:22:01 -04:00
Dan McGee
e412ac19f5 Asciidoc updates- make it pretty, fix build, etc.
* Fix up the target so we rebuild the manpages when we edit the corresponding
  text file.
* Add vim modelines to all of the asciidoc files ensureing the right syntax
  highlighting is used and we have expandtabs turned off.
* Start making a few small changes to PKGBUILD.5 to make it pretty in both
  HTML and manpage format output.
* Fix the manlink macro to include the manpage section in the link.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 13:47:56 -04:00
Andrew Fyfe
f1fac6abfb Update PKGBUILD example.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-09 13:47:56 -04:00
Andrew Fyfe
ab87657b93 Add Synopsis section to man 5 pages.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-09 13:47:56 -04:00
Dan McGee
499b750c2f Make manpage generation depend on footer.txt
If footer.txt is updated, we need to regenerate the manpages, this little
fix should do this.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 13:47:56 -04:00
Andrew Fyfe
fe9a0de32e doc/Makefile.am: Set pacman version and date when man pages are generated.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-09 13:47:56 -04:00
Andrew Fyfe
be0a472cb7 Convert the remaining man pages to asciidoc.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-09 13:47:56 -04:00
Andrew Fyfe
493e5fb782 Move common stuff into footer.txt and some formating tweaks.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-07-09 13:47:55 -04:00
Andrew Fyfe
2f7d2485f5 Add two asciidoc manpages to the doc/ dir
Add the pacman.8 and pacman.conf.5 asciidoc manpages to the GIT tree, with
the rest to follow.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 13:47:55 -04:00
Dan McGee
168b795f9e Start addition of asciidoc stuff
Add some asciidoc generation stuff to the doc/ Makefile.am so we can get
some manpages up and working. Add necessary stuff to gitignore, and check
in the asciidoc.conf file along with the footer for all of the manpages.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-09 13:47:55 -04:00