Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
package-helpers
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
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
Kevin
package-helpers
Commits
54664cce
Commit
54664cce
authored
9 years ago
by
Santiago Rodriguez
Browse files
Options
Downloads
Patches
Plain Diff
Remove unused files
Also, updated .gitignore
parent
c477472a
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gitignore
+1
-0
1 addition, 0 deletions
.gitignore
makepackage
+0
-278
0 additions, 278 deletions
makepackage
makepending
+0
-155
0 additions, 155 deletions
makepending
with
1 addition
and
433 deletions
.gitignore
+
1
−
0
View file @
54664cce
repos
repos
jails
jails
logs
logs
PACKAGES/
This diff is collapsed.
Click to expand it.
makepackage
deleted
100644 → 0
+
0
−
278
View file @
c477472a
#!/bin/bash
#
# Copyright (C) 2011 Ruben Rodriguez <ruben@trisquel.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
set
-e
export
LD_PRELOAD
=
"
${
LD_PRELOAD
:+
$LD_PRELOAD
:
}
/usr/lib/libeatmydata/libeatmydata.so"
export
DEBIAN_FRONTEND
=
noninteractive
MEM
=
$(
cat
/proc/meminfo |grep MemTotal|
awk
'{print $2}'
)
GPGKEY
=
8D8AEBF1
for
VAR
in
LANG LANGUAGE LC_ALL LC_TIME LC_MONETARY LC_ADDRESS LC_TELEPHONE LC_MESSAGES LC_NAME LC_MEASUREMENT LC_IDENTIFICATION LC_IDENTIFICATION LC_NUMERIC LC_PAPER LANG
do
unset
$VAR
done
export
LANG
=
C
export
HOME
=
/root
export
DATE
=
$(
date
+
'%a, %d %b %Y %T %z'
)
cd
$(
dirname
$0
)
if
[
$#
-lt
1
]
then
echo
"Usage:
$0
package"
echo
example:
$0
linux lucid
exit
1
fi
PACKAGE
=
$1
CODENAME
=
$(
grep
'export CODENAME='
helpers/config |sed
's/.*=//'
)
UPSTREAM
=
$(
grep
'export UPSTREAM='
helpers/config |sed
's/.*=//'
)
WORKDIR
=
tmp/makepackage
REPOSITORY
=
$PWD
/repos/
$CODENAME
HELPERS
=
$PWD
/helpers
for
REPO
in
$(
git branch|sed
's/.* //;/master/d'
)
do
[
-d
$REPOSITORY
]
&&
continue
mkdir
-p
repos/
$REPO
/conf repos/
$REPO
/incoming
cat
<<
EOF
> repos/
$REPO
/conf/distributions
Origin: Trisquel
Label: Trisquel
Suite:
$REPO
Version: 42
Codename:
$REPO
Architectures: i386 amd64 source
Components: main
UDebComponents: main
DebIndices: Packages Release . .gz .bz2
UDebIndices: Packages . .gz .bz2
DscIndices: Sources Release .gz .bz2
Log:
$REPO
.log
Description: Trisquel GNU/Linux packages for the
$UPSTREAM
based release
EOF
if
gpg
-K
|
grep
-q
$GPGKEY
then
echo
"SignWith:
$GPGKEY
"
>>
repos/
$REPO
/conf/distributions
fi
cd
repos/
$REPO
reprepro
-v
export
cd
../..
done
disablescripts
(){
# Disable service starter scripts
for
i
in
/usr/sbin/invoke-rc.d /sbin/start /sbin/start-stop-daemon
do
mv
$CHROOT
/
$i
$CHROOT
/
$i
.real
cp
$CHROOT
/bin/true
$CHROOT
/
$i
done
}
createjail
()
{
[
-d
jails
]
||
mkdir
jails
CHROOT
=
jails/
$UPSTREAM
-
$JAILARCH
C
=
"chroot
$CHROOT
"
MIRROR
=
http://mir1.ovh.net/mirrors/ftp.ubuntu.com/ubuntu
mkdir
$CHROOT
-tmp
mount
-t
tmpfs
-o
size
=
500M none
$CHROOT
-tmp
debootstrap
--arch
=
$JAILARCH
$UPSTREAM
$CHROOT
-tmp
$MIRROR
fuser
-k
$CHROOT
-tmp
cp
-a
$CHROOT
-tmp
$CHROOT
umount
$CHROOT
-tmp
rm
$CHROOT
-tmp
-rf
echo
"127.0.0.1 localhost"
>
$CHROOT
/etc/hosts
mount none
$CHROOT
/proc
-t
proc
mount none
$CHROOT
/dev/pts
-t
devpts
disablescripts
if
gpg
-K
|
grep
$GPGKEY
-q
then
cp
/root/.gnupg
$CHROOT
/root
-a
else
echo
GPG private key
for
$GPGKEY
not found, the packages and repositories will not be signed.
fi
echo
$UPSTREAM
-
$JAILARCH
>
$CHROOT
/etc/debian_chroot
cat
<<
EOF
>
$CHROOT
/etc/apt/sources.list
deb
$MIRROR
$UPSTREAM
main universe
deb
$MIRROR
$UPSTREAM
-updates main universe
deb
$MIRROR
$UPSTREAM
-security main universe
deb
$MIRROR
$UPSTREAM
-backports main universe
deb-src
$MIRROR
$UPSTREAM
main universe
deb-src
$MIRROR
$UPSTREAM
-updates main universe
deb-src
$MIRROR
$UPSTREAM
-security main universe
deb-src
$MIRROR
$UPSTREAM
-backports main universe
EOF
cat
<<
EOF
>
$CHROOT
/etc/apt/apt.conf.d/90recommends
APT::Install-Recommends "0";
APT::Install-Suggests "0";
EOF
export
DEBIAN_FRONTEND
=
noninteractive
[
$UPSTREAM
!=
hardy
-a
$UPSTREAM
!=
lucid
-a
$UPSTREAM
!=
maverick
]
&&
echo
"force-unsafe-io"
>
$CHROOT
/etc/dpkg/dpkg.cfg.d/02apt-speedup
$C
apt-get update
[
$UPSTREAM
!=
hardy
]
&&
$C
apt-get
--force-yes
-y
install
sysv-rc dpkg sysvinit-utils upstart
disablescripts
$C
apt-get
--force-yes
-y
dist-upgrade
$C
apt-get
--force-yes
-y
install
devscripts build-essential liburi-perl python-setuptools pkgbinarymangler wget rpl aptitude quilt fakeroot ccache
$C
apt-get clean
wget
-o
/dev/null
-O
$CHROOT
/tmp/key.gpg http://archive.trisquel.info/trisquel/trisquel-archive-signkey.gpg
$C
apt-key add /tmp/key.gpg
# Hack for i386
if
[
$JAILARCH
=
"i386"
]
then
for
BIN
in
/bin/uname /usr/bin/arch
do
[
-f
$CHROOT
/
$BIN
]
||
continue
mv
$CHROOT
/
$BIN
$CHROOT
/
$BIN
.orig
cat
<<
EOF
>
$CHROOT
/
$BIN
#!/bin/bash
if [
\$
# -eq 0 ]
then
$BIN
.orig | sed s/x86_64/i686/g
else
$BIN
.orig "
\$
*" | sed s/x86_64/i686/g
fi
EOF
chmod
755
$CHROOT
/
$BIN
done
fi
umount
$CHROOT
/proc
$CHROOT
/dev/pts
}
prepare
(){
[
-d
jails/
$UPSTREAM
-
$JAILARCH
]
||
createjail
cat
<<
EOF
> jails/
$UPSTREAM
-
$JAILARCH
/tmp/update
mount -t proc none /proc
export DEBIAN_FRONTEND=noninteractive
export LANG=C
apt-get update
apt-get --force-yes -y install sysv-rc dpkg sysvinit-utils upstart
for i in /usr/sbin/invoke-rc.d /sbin/start /sbin/start-stop-daemon
do
mv
\$
i
\$
i.real
cp /bin/true
\$
i
done
export DEBIAN_FRONTEND=noninteractive
apt-get --force-yes -y dist-upgrade
umount /proc
EOF
chroot
jails/
$UPSTREAM
-
$JAILARCH
bash /tmp/update
if
[
-f
jails/
$UPSTREAM
-
$JAILARCH
/CurrentlyBuilding
]
then
echo
The
$UPSTREAM
-
$JAILARCH
jail appears to be running
$(
cat
jails/
$UPSTREAM
-
$JAILARCH
/CurrentlyBuilding |grep Package: |sed
's/Package:\ //'
)
, aborting.
exit
1
fi
CHROOT
=
jails/
$UPSTREAM
-
$JAILARCH
disablescripts
}
tmpumount
(){
grep
jails/
$UPSTREAM
-
$JAILARCH
/tmp /proc/mounts
-q
||
return
0
umount jails/
$UPSTREAM
-
$JAILARCH
/tmp
&&
return
echo
ERROR: could not umount tmpfs at jails/
$UPSTREAM
-
$JAILARCH
/tmp
exit
1
}
tmpmount
(){
[
$MEM
-lt
16000000
]
&&
return
grep
jails/
$UPSTREAM
-
$JAILARCH
/tmp /proc/mounts
-q
&&
tmpumount
echo
$PACKAGE
|
grep
-q
"linux"
&&
return
mount
-t
tmpfs
-o
size
=
20G none jails/
$UPSTREAM
-
$JAILARCH
/tmp
}
compile
(){
[
-d
jails/
$UPSTREAM
-
$JAILARCH
/
$WORKDIR
]
&&
rm
-rf
jails/
$UPSTREAM
-
$JAILARCH
/
$WORKDIR
/
tmpmount
cp
-a
helpers/ jails/
$UPSTREAM
-
$JAILARCH
/
$WORKDIR
/
cat
<<
EOF
> jails/
$UPSTREAM
-
$JAILARCH
/usr/local/sbin/makepackage-handler
#!/bin/bash
WORKDIR=
$WORKDIR
PACKAGE=
$PACKAGE
cd
$WORKDIR
[ -d LOGS ] || mkdir LOGS
[ -d PACKAGES ] || mkdir PACKAGES
export PATH="/usr/lib/ccache:
${
PATH
}
"
bash -e make-
$PACKAGE
2>&1 || exit 1
EOF
cat
<<
EOF
> jails/
$UPSTREAM
-
$JAILARCH
/etc/pkgbinarymangler/striptranslations.conf
enable: true
components: main
invalid_currentlybuilding: ignore
posuffix: translations
oem_blacklist: partner
EOF
cat
<<
EOF
> jails/
$UPSTREAM
-
$JAILARCH
/etc/pkgbinarymangler/sanitychecks.conf
enable: true
EOF
cat
<<
EOF
> jails/
$UPSTREAM
-
$JAILARCH
/etc/pkgbinarymangler/maintainermangler.conf
enable: true
invalid_currentlybuilding: ignore
EOF
cat
<<
EOF
> jails/
$UPSTREAM
-
$JAILARCH
/etc/pkgbinarymangler/maintainermangler.overrides
default: Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info>
ignore_domains: trisquel.info sognus.com listas.trisquel.info gnu.org fsf.org
ignore_emails: ruben@trisquel.info
EOF
chmod
755 jails/
$UPSTREAM
-
$JAILARCH
/usr/local/sbin/makepackage-handler
if
!
chroot
jails/
$UPSTREAM
-
$JAILARCH
makepackage-handler /
$WORKDIR
/make-
$PACKAGE
then
rm
jails/
$UPSTREAM
-
$JAILARCH
/CurrentlyBuilding
exit
1
fi
find jails/
$UPSTREAM
-
$JAILARCH
/
$WORKDIR
/PACKAGES/
$PACKAGE
/
-maxdepth
1
-type
f
-exec
cp
{}
$REPOSITORY
/incoming/
\;
tmpumount
}
JAILARCH
=
i386 prepare
JAILARCH
=
amd64 prepare
JAILARCH
=
i386 compile
JAILARCH
=
amd64 compile
cd
$REPOSITORY
for
dsc
in
incoming/
*
.dsc
do
if
gpg
-K
|
grep
$GPGKEY
-q
then
debsign
-k
$GPGKEY
$dsc
else
echo
GPG private key
for
$GPGKEY
not found, the packages and repositories will not be signed.
fi
reprepro
-v
-C
main includedsc
$CODENAME
$dsc
||
reprepro
-S
admin
-P
optional
-v
-b
.
-C
main includedsc
$CODENAME
$dsc
done
find incoming
-name
*
.deb
-exec
reprepro
-v
-C
main includedeb
$CODENAME
{}
\;
find incoming
-name
*
.udeb
-exec
reprepro
-v
-C
main includeudeb
$CODENAME
{}
\;
rm
incoming/
*
This diff is collapsed.
Click to expand it.
makepending
deleted
100644 → 0
+
0
−
155
View file @
c477472a
#!/bin/bash
#
# Copyright (C) 2009,2010,2011 Ruben Rodriguez <ruben@trisquel.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
#
#
# This script compares two Sources.gz files, and reports available updates
if
[
$(
git status
-s
|
wc
-l
)
!=
0
]
then
echo
You have uncommited git changes, stopping
[
1
$1
=
1
"test"
]
||
exit
1
fi
PAIRS
=
"taranis-lucid toutatis-precise belenos-trusty"
CODENAMES
=
"taranis toutatis belenos"
UPSTREAMS
=
"lucid precise trusty"
[
1
$1
=
1
"test"
]
&&
TEST
=
echo
WD
=
$PWD
LOGS
=
$PWD
/logs
[
-d
$LOGS
]
||
mkdir
$LOGS
export
LANG
=
C
FILE
=
$(
mktemp
)
TMP
=
$(
mktemp
-d
)
cd
$TMP
echo
"List of packages with available updates:
"
>
$FILE
listmirror
(){
DIST
=
$1
COMPONENT
=
$2
echo
-n
Downloading Sources.gz from
$MIRROR
/dists/
$DIST
/
$COMPONENT
/source/Sources.gz
>
&2
wget
$MIRROR
/dists/
$DIST
/
$COMPONENT
/source/Sources.gz
-q
-O
- | zcat | egrep dsc
$
|
cut
-d
" "
-f
4|sed
's/\.dsc//'
echo
" Done"
>
&2
}
update
(){
MIRROR
=
"http://archive.ubuntu.com/ubuntu"
for
i
in
$UPSTREAMS
do
listmirror
$i
main
>>
$i
listmirror
$i
-updates
main
>>
$i
listmirror
$i
-security
main
>>
$i
listmirror
$i
universe
>>
$i
listmirror
$i
-updates
universe
>>
$i
listmirror
$i
-security
universe
>>
$i
done
for
i
in
$CODENAMES
do
MIRROR
=
"http://archive.trisquel.info/trisquel"
listmirror
$i
main
>>
$i
listmirror
$i
-updates
main
>>
$i
listmirror
$i
-security
main
>>
$i
MIRROR
=
"http://devel.trisquel.info/trisquel/
$i
"
listmirror
$i
main
>>
$i
done
}
higher
(){
LIST
=
"
$(
echo
$*
|sed
's/:/./g; s/+/./g'
)
EOL"
HI
=
$(
echo
$LIST
|
cut
-d
" "
-f1
)
LIST
=
$(
echo
$LIST
|
cut
-d
" "
-f2-
)
while
[
"
$LIST
"
!=
"EOL"
]
do
TEST
=
$(
echo
$LIST
|
cut
-d
" "
-f1
)
dpkg
--compare-versions
$HI
lt
$TEST
2>/dev/null
&&
HI
=
$TEST
LIST
=
$(
echo
$LIST
|
cut
-d
" "
-f2-
)
done
echo
$HI
}
check
(){
for
package
in
$PACKAGES
do
LIST
=
$(
egrep ^
${
package
}
_
$DISTRO
)
current
=
$(
higher
$LIST
)
LIST
=
$(
egrep ^
${
package
}
_
$UPSTREAM
)
upstream
=
$(
higher
$LIST
)
if
dpkg
--compare-versions
$current
lt
$upstream
2>/dev/null
then
# echo Current version in $DISTRO: $current 1>&2
# echo Upstream version in $UPSTREAM: $upstream 1>&2
echo
Current version
in
$DISTRO
:
$current
echo
Upstream version
in
$UPSTREAM
:
$upstream
[
$current
=
"EOL"
]
&&
continue
if
[
$package
=
"grub2"
]
then
echo
WARNING! grub2 packages need to be manually compiled!
echo
continue
fi
cd
$WD
$TEST
git checkout
$DISTRO
$TEST
git merge master
cd
$TMP
echo
Upgrading
$current
at
$DISTRO
with
${
UPSTREAM
}
_
$upstream
1>&2
echo
Running makepackage
$package
$DISTRO
at
$(
date
)
$LOGS
/
$DISTRO
-
$package
-
$(
date
+%Y%m%d
)
.log
echo
Running makepackage
$package
$DISTRO
at
$(
date
)
$LOGS
/
$DISTRO
-
$package
-
$(
date
+%Y%m%d
)
.log 1>&2
$TEST
sh
$WD
/makepackage
$package
$DISTRO
>
$LOGS
/
$DISTRO
-
$package
-
$(
date
+%Y%m%d
)
.log
&&
echo
-n
Done!
||
echo
-n
FAILED!
echo
" (
$(
date
)
)"
echo
fi
done
}
update
for
pair
in
$PAIRS
do
DISTRO
=
${
pair
/-*/
}
UPSTREAM
=
${
pair
/*-/
}
PACKAGES
=
$(
git
--git-dir
=
/home/systems/devel/.git ls-tree
-r
--name-only
$DISTRO
|grep helpers/make-|sed
's/.*make-//'
)
check
>>
$FILE
done
report
()
{
#address=trisquel-devel@listas.trisquel.info
address
=
ruben@trisquel.info
echo
"Subject: Compiling updates
To:
$address
$(
cat
$FILE
)
"
|
$TEST
/usr/sbin/sendmail
-f
watchdog@devel.trisquel.info
-h
correo.sognus.com
-t
$address
}
grep
-q
makepackage
$FILE
&&
$TEST
report
rm
$FILE
$TMP
-rf
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