Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
lede-mikrotik
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
External wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Johannes Rudolph
lede-mikrotik
Commits
57ccc7e8
Commit
57ccc7e8
authored
14 years ago
by
Michael Büsch
Browse files
Options
Downloads
Patches
Plain Diff
deptest: Support specifying certain packages to test on the commandline.
SVN-Revision: 23818
parent
87cba7eb
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
scripts/deptest.sh
+54
-27
54 additions, 27 deletions
scripts/deptest.sh
with
54 additions
and
27 deletions
scripts/deptest.sh
+
54
−
27
View file @
57ccc7e8
#!/bin/bash
#!/bin/bash
#
# Automated OpenWrt package dependency checker
#
# Copyright (C) 2009-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# Usage:
# No commandline arguments => check dependencies of all installed packages
# Package name(s) as arguments => only test the specified packages
#
SCRIPTDIR
=
"
$(
dirname
"
$0
"
)
"
SCRIPTDIR
=
"
$(
dirname
"
$0
"
)
"
[
"
${
SCRIPTDIR
:0:1
}
"
=
"/"
]
||
SCRIPTDIR
=
"
$PWD
/
$SCRIPTDIR
"
[
"
${
SCRIPTDIR
:0:1
}
"
=
"/"
]
||
SCRIPTDIR
=
"
$PWD
/
$SCRIPTDIR
"
...
@@ -21,40 +33,25 @@ die()
...
@@ -21,40 +33,25 @@ die()
exit
1
exit
1
}
}
[
-f
"
$BASEDIR
/include/toplevel.mk"
]
||
\
test_package
()
# $1=pkgname
die
"Error: Could not find buildsystem base directory"
{
[
-f
"
$BASEDIR
/.config"
]
||
\
local
pkg
=
"
$1
"
die
"The buildsystem is not configured. Please run make menuconfig."
local
SELECTED
=
cd
"
$BASEDIR
"
||
die
"Failed to enter base directory"
mkdir
-p
"
$STAMP_DIR_SUCCESS
"
"
$STAMP_DIR_FAILED
"
"
$STAMP_DIR_BLACKLIST
"
\
"
$BUILD_DIR
"
"
$BUILD_DIR_HOST
"
"
$LOG_DIR
"
[
-d
"
$STAGING_DIR_HOST_TMPL
"
]
||
{
rm
-rf
staging_dir/host
make tools/install
V
=
99
||
die
"make tools/install failed, please check"
cp
-al
staging_dir/host
"
$STAGING_DIR_HOST_TMPL
"
make toolchain/install
V
=
99
||
die
"make toolchain/install failed, please check"
make target/linux/install
V
=
99
||
die
"make target/linux/install failed, please check"
}
for
pkg
in
`
cat
tmp/.packagedeps |
grep
CONFIG_PACKAGE |
grep
-v
curdir |
sed
-e
's,.*[/=]\s*,,'
|
sort
-u
`
;
do
SELECTED
=
for
conf
in
`
grep
CONFIG_PACKAGE tmp/.packagedeps |
grep
-E
"[ /]
$pkg
\$
"
|
sed
-e
's,package-$(\(CONFIG_PACKAGE_.*\)).*,\1,'
`
;
do
for
conf
in
`
grep
CONFIG_PACKAGE tmp/.packagedeps |
grep
-E
"[ /]
$pkg
\$
"
|
sed
-e
's,package-$(\(CONFIG_PACKAGE_.*\)).*,\1,'
`
;
do
grep
"
$conf
="
.config
>
/dev/null
&&
SELECTED
=
1
grep
"
$conf
="
.config
>
/dev/null
&&
SELECTED
=
1
&&
break
done
done
STAMP_SUCCESS
=
"
$STAMP_DIR_SUCCESS
/
$pkg
"
local
STAMP_SUCCESS
=
"
$STAMP_DIR_SUCCESS
/
$pkg
"
STAMP_FAILED
=
"
$STAMP_DIR_FAILED
/
$pkg
"
local
STAMP_FAILED
=
"
$STAMP_DIR_FAILED
/
$pkg
"
STAMP_BLACKLIST
=
"
$STAMP_DIR_BLACKLIST
/
$pkg
"
local
STAMP_BLACKLIST
=
"
$STAMP_DIR_BLACKLIST
/
$pkg
"
rm
-f
"
$STAMP_FAILED
"
rm
-f
"
$STAMP_FAILED
"
[
-f
"
$STAMP_SUCCESS
"
]
&&
continue
[
-f
"
$STAMP_SUCCESS
"
]
&&
return
[
-n
"
$SELECTED
"
]
||
{
[
-n
"
$SELECTED
"
]
||
{
echo
"Package
$pkg
is not selected"
echo
"Package
$pkg
is not selected"
continue
return
}
}
[
-f
"
$STAMP_BLACKLIST
"
]
&&
{
[
-f
"
$STAMP_BLACKLIST
"
]
&&
{
echo
"Package
$pkg
is blacklisted"
echo
"Package
$pkg
is blacklisted"
continue
return
}
}
echo
"Testing package
$pkg
..."
echo
"Testing package
$pkg
..."
rm
-rf
"
$STAGING_DIR
"
rm
-rf
"
$STAGING_DIR
"
...
@@ -73,4 +70,34 @@ for pkg in `cat tmp/.packagedeps | grep CONFIG_PACKAGE | grep -v curdir | sed -
...
@@ -73,4 +70,34 @@ for pkg in `cat tmp/.packagedeps | grep CONFIG_PACKAGE | grep -v curdir | sed -
touch
"
$STAMP_FAILED
"
touch
"
$STAMP_FAILED
"
echo
"Building package
$pkg
failed!"
echo
"Building package
$pkg
failed!"
fi
fi
done
}
[
-f
"
$BASEDIR
/include/toplevel.mk"
]
||
\
die
"Error: Could not find buildsystem base directory"
[
-f
"
$BASEDIR
/.config"
]
||
\
die
"The buildsystem is not configured. Please run make menuconfig."
cd
"
$BASEDIR
"
||
die
"Failed to enter base directory"
mkdir
-p
"
$STAMP_DIR_SUCCESS
"
"
$STAMP_DIR_FAILED
"
"
$STAMP_DIR_BLACKLIST
"
\
"
$BUILD_DIR
"
"
$BUILD_DIR_HOST
"
"
$LOG_DIR
"
[
-d
"
$STAGING_DIR_HOST_TMPL
"
]
||
{
rm
-rf
staging_dir/host
make tools/install
V
=
99
||
die
"make tools/install failed, please check"
cp
-al
staging_dir/host
"
$STAGING_DIR_HOST_TMPL
"
make toolchain/install
V
=
99
||
die
"make toolchain/install failed, please check"
make target/linux/install
V
=
99
||
die
"make target/linux/install failed, please check"
}
if
[
$#
-eq
0
]
;
then
# iterate over all packages
for
pkg
in
`
cat
tmp/.packagedeps |
grep
CONFIG_PACKAGE |
grep
-v
curdir |
sed
-e
's,.*[/=]\s*,,'
|
sort
-u
`
;
do
test_package
"
$pkg
"
done
else
# Only check the specified packages
while
[
$#
-ne
0
]
;
do
test_package
"
$1
"
shift
done
fi
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment