Age | Commit message (Collapse) | Author | Files | Lines |
|
this simple tweak gives a nice perf boost : from 10s to 7s to parse extra
repo.
indeed calling basename caused a fork to happen for the thousand of files
being considered
Now the major bottleneck is parsing split pkgbuilds, but I am afraid there
is no magical solution for that :(
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
The compute_dep function I wrote for the more informative hierarchy output
was very inefficient. It's much better now (10s -> 0.5s) on my box, and I
get exactly the same results :)
Now the big majority of the time is again spent on parsing pkgbuilds.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Add repo information to most results by using the repo/pkgname syntax
(instead of only pkgname)
Sort all results list (with the point above, this sorts the results by
repo :))
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Compare the abs tree with the repo dbs to check if we have a PKGBUILD for
each package in the dbs and vice versa.
Signed-off-by: Henning Garus <henning.garus@gmail.com>
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
By parsing multiple abs trees we can add any when parsing the other trees,
checking any standalone doesn't make much sense.
Signed-off-by: Henning Garus <henning.garus@gmail.com>
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Whoops, missed this in the last commit
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
This is in the db-functions file, and does a better job.
In order to do this, we had to change some path related code
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Add 'any' to the items looped over in the ${ARCHES[@]} loop
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
This allows us to still remove older, non architecture
prefixed packages
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
And use it. This allows us to have server-specific behavior in our scripts
without further patching, and it also allows us to simplify some of our
scripts a fair amount.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We can't really do the basedir magic from db-functions as it is just being
sourced and is not the currently executing script. Although a bit
repetitive, it is a lot safer to just include the config file everywhere.
Noticed this when trying to run the latest available scripts on sigurd.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Loop over all arches AND the 'any' arch.
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
This should help a lot figuring out whether a given hierarchy problem is
fixable (if it doesn't require moving too many deps).
example output
core/crda depends on extra/python-m2crypto (27 extra (make)deps to pull)
core/iputils depends on extra/opensp (29 extra (make)deps to pull)
core/iputils depends on extra/libxslt (25 extra (make)deps to pull)
core/iputils depends on extra/docbook-xsl (27 extra (make)deps to pull)
core/udev depends on extra/gperf (0 extra (make)deps to pull)
core/udev depends on extra/libxslt (25 extra (make)deps to pull)
core/e2fsprogs depends on extra/bc (0 extra (make)deps to pull)
core/sqlite3 depends on extra/tcl (0 extra (make)deps to pull)
core/ca-certificates depends on extra/ruby (25 extra (make)deps to pull)
the actual deps are only displayed when there are less than 10.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
I just found a way to support split packages, by using $(type
package_${pkg}), parsing that output and running eval on the relevant lines.
This is a bit ugly, and while it works fine on my machine and my current abs
tree, I cannot guarantee this code is bug free :)
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
db-remove use the arch variable to handle the arch parameter passed to the
script. As the arch variable is already used in PKGBUILD, this variable
conflict cause unwanted behaviour.
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
This source the config file and gets us functions such as
getpkgname which were duplicated elsewhere
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Remove dependance on makepkg.conf
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
No real reason, this is just easier to understand, and checks
like this should be the norm.
If file does not exist, continue
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Removed the need for makepkg.conf
* Killed off CARCH
* Added PKGEXT to the config file
* Remove source_makepkg function
* Source config file where makepkg.conf was needed
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
DBEXT contains the full extension for the db files (.db.tar.gz)
and is recorded in the config file
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
|
|
|
|
If no packages are present in the repository, a message like this will be generated, and the corresponding mv command will be issued.
Prevent this by checking if *$arch$PKGEXT equals "*$arch$PKGEXT":
Scan complete for core (i686) at /srv/ftp/core/os/i686
The following files are in the repo but not the db
They will be moved to '/srv/package-cleanup'
*i686.pkg.tar.gz
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
community repo is cleaned up on a different machine
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Remove the hardcoded i686/x86_64 and loop over the ARCHES
array in the config file, checking for valid symlinks.
If none are found, remove the 'any' package
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Clean up some output so when we do nothing, we get no output
This is preferred as the mailer will simply not send a mail
in this case.
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Source our config file, and use ARCHES from it
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
[Aaron: keep WORKDIR creation outside the loop, as its
removed at the end]
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|
|
|
|
Because we lock/unlock in a loop, simply remove the cleanup trap
at the end of the process, and manually clean up the work dir
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
|