Compare commits

..

No commits in common. "master" and "develop" have entirely different histories.

182 changed files with 5 additions and 12254 deletions

View File

@ -1,33 +0,0 @@
AUX btrfs_create_filesystem_snapshot 628 BLAKE2B 7950911ac166c3a2c722b9d45521124b93efd169dea46534e474be3fb58317440cef1a9f0e8f9405b271d911508af540ebfdc3c4e3d5cf133e3c5e612e98d1e0 SHA512 416fb8f5f3687a3c369cc2b199d4c8b4170494f0a119566a91ac6a0c2f202dc5049804c10508b66ba657011b39be5ddd055091cd531a665b4398899f404086ca
AUX btrfs_remove_filesystem_snapshot 662 BLAKE2B 418900f58eb404834114f4494fd8e411e677f2dddb99dc230875cef9bf72afdea1a3dfa524aaf157a386f85e19dc1cff23058e078faef17f81aa97874b50a5d6 SHA512 860021ce5b8d92ff58e8286991162c7bab45493c3b9c87577a43764f6b416397448bb99b8fcb850c4c5853927cb0a8637792b75ff53ee7ee257da3f5d29ae3a7
AUX dattobd_create_filesystem_snapshot 1605 BLAKE2B ef6a7e29aaf0ecb884345be2d43673ab579b6378a6afb9431bc39e16b10b43a81f3c1490d67d172490c0bae403369cc863557957d45792ea76d1203c93bea3b4 SHA512 fde5912b589a495dc03a26d174d7673ff746eed34d6b1ed64758b2dc2ec2ec53e02e6a28b04734a7112f16687b31d25123e99dbc69e9dcab48773675382ec582
AUX dattobd_remove_filesystem_snapshot 1671 BLAKE2B 8b8e349e9fa535a60b75e08d61ed4788c6a62fcf169f59a25fe9359cc2ed01cfaae665a9a415cd7df0a9bae76823df712ebce484ac03b2cb5d659c7ec5c31d37 SHA512 a8b58bba1b8b0a6b70395f9fe4277eeee60a0ba534f4eddb999d719915c76b76facb54172e03b7b29b9f725a4d720e9b676b05e5081f7528570956e903fe59bd
AUX logrotate_urbackupclient 258 BLAKE2B 533acaad88eb3f5d31022523ed8255acd591dfacb74c112598d990148fa0c4d06fd4802d42e943e12af7bed918290bcfea372733a1ff92ec9440ba6fa199a259 SHA512 7c1bca00aeee5a37c71d097ca7dd29b8c17c876cd9c4fd00c2955d9006815d5d45d25f8d6479cc229c2b328fa413d677f03087e0a1937f7c279844f75ea3eeb1
AUX lvm_create_filesystem_snapshot 1473 BLAKE2B 5b732b55e3a8b3cbef55881815d8d5dfeea2a34e792365e2dafe8af1419ead917f28b3e80e04d489521ee1f7ad307e4dab1e074c6100ce92ecfc3200b42cb420 SHA512 a2d4ba03ae15582d2cd74ff68c38ff0f90d75a6eb5c241f9a022b0652fa2dc9b184439f6bda9a9538645925f739503ee7b3fc7bb232589583cdeb6dc27d74e5c
AUX lvm_remove_filesystem_snapshot 1262 BLAKE2B ae0211ee3249766f0eb7ab8fe9ad19657ca9177412622f21ab319470d6b547e70a2f6435e5ddb23d8d4702c78f15112a6189073ca01f90e8a62eeb897b120326 SHA512 9bdfefccdd9d6e37a77975324a7c417f3de2aa59e6da0bfde3c318b8c6f3d7f4629f3a41eebee548b9c572b8ed39640434cc08bd020d25362fddffc4426438de
AUX snapshot.cfg 641 BLAKE2B 50e068ee6b72c4d04dbe4d4d32db996c8958693d29ece25dcd1279b21d62b8adfd2dd9819022ae1c05efdbe816eb0b018f63e2d48b057d7539db65839a6c20f3 SHA512 5125051424ca48e6708997061af9c5ee74b48d0d9840f26df3bf79892c4d48293d0569f5b3c5408f1c70b493c7f56ae225a01891db7ad05e3890cfe0357999bd
AUX urbackup-client-2.0.36-autoupdate.patch 6538 BLAKE2B bfb7ee5d2a5ebcddbf2b4561fd24e919a078b35116547cb68eda8e6c7b246d5cd49edfdd536793ac21f7ac3d6792d617e2a1aeffa4b62439ce6654144d26792d SHA512 e29716cd16c95f24a7ad44312ed46d34560382a01b72f18ef0e9a7e4a10301a641d0b462c69b050dd6a11154c5517499be2df3a50951cf8bd0a162ad0c16d41d
AUX urbackup-client-2.0.36-conf.patch 456 BLAKE2B 13dfb03aeabdf8d7b724ba283cb84711bd2645633436119be15589afb6edd6da637ec6e4f5e6878a19de24782e3a9d5a39fd0338d43d200980381d026eb8bdad SHA512 cb5e1312cbf99c6e78b141c5b883e65f7ae7a5457060aa5b5beebcb1af43a689ba2808d133727def41955bd47fe58aea1a397a555d1a086baf24cada46ca1683
AUX urbackup-client-2.0.36-etc-perms.patch 659 BLAKE2B 5588f9904fde3e9d1c295d503d82342aaff2c20f5c0021e530ce6a8ab51ea01b4f7928baf1eb8651a1f75afd7e9d886c1f1c01f957feaec5a2f7d855be6853cb SHA512 e5398f5209a8b50b572e5776322520dcce70bfd1665a80790b2a86a9d384c589452240a4291af6762cce6bf3072d63fde057ce96cc673bb0a9dcf615ece8fc9c
AUX urbackup-client-2.0.36-gcc-fortify.patch 731 BLAKE2B 8f71021b4ebe240b25b28a602cfddac2bdf99d9022c858fd69f12ea35155d8c73dee87552fd18ac851c2e8f3ab43cecfbbaea3730a8ea3c4819ee621148c680b SHA512 2b3ada4c57c90cc0bca0043e502322034d0e53a0533de73f3bcee153a4283f26dd2da7b6a30b0deb8e13d7ba14cdda80cd3d6dcbea527e7343f7d07585116f82
AUX urbackup-client-2.0.36-locale.patch 6156 BLAKE2B e54a3fbacb179eb40a28857c6252941aa760df5549636c90b9b21d7bba8c86c15075cb4e8f9bf9130ece4b8fb860e8e4933852d314a2b22f1c93088f11da6be6 SHA512 16129e44da4dfbbdb825fb745ef0f77b9cbff4530ef3762360849ce14a6c4bb9d6c3d615e2d712a1d395119d78eb4648e2353ba89677d617cac8c432e5145271
AUX urbackup-client-2.0.36-manpage.patch 764 BLAKE2B 062bfc6c555b71213a329d331dde764439b8eb292c9d436f958a921b85aee2926e2cee82ecb29d82d83535e90c1184d8f1f6ccbc5b4b0155f2f2fbdb91385d91 SHA512 549401b24f509ab118aa70007d83b07af0c85822b82cb33ad39c64892d509064051ff23bb7413ac693df1c2a452fc19c57086a8f4412d5d4bf7aff09019eca5d
AUX urbackup-client-2.1.7-autoupdate.patch 4009 BLAKE2B 0c3c8e86c7b0d0480be0c5c525bb832ca77ca5ab6b284edcf08d338a9f77d851fef9a55d0c4f9bb1efc1622c51743da66b5e7da13c284deb639ff859a288b3a6 SHA512 93555d73ebf03154004f82e9e5d2c97d1c11e85984fdb48098abe13f140372ac874cea957a2c3ea5dbd9404f9461d0da85e7adf9132c168e0c1ceb92d852d714
AUX urbackup-client-2.1.7-conf.patch 454 BLAKE2B c596c28e8d4eac7cef4da72a44e640fe397674df6e3debce46ecd009358d9bbfb10394f6ac4a696df7b51b4fdab639f8cc088366a7c5f31269d2877c50c2bc8f SHA512 5b6f9bd241614875871e2ce6b0144f98b173183eee57f3f406c6d5f3bb413bf485f1c0c01f9d403d5c9c4fb05fb67bbb006ca94d181dbda9d94a30ea65521cad
AUX urbackup-client-2.1.7-etc-perms.patch 657 BLAKE2B 5b7f905d04585fcf9883662cf35e8d9bd39a5b3053bed6221f875756583b230f150fa3835df4fa6b36de53878908099d3edc2707417f8f301ebe88ee65a2b08b SHA512 f6532b38d80ca82d286d171b2c2d15d33580f8f22a09f573e9fa648c0980a5bc17169f771b716305d100ce2a594e996b940716dcf07a19b14d91f59f857eba5f
AUX urbackup-client-2.1.7-gcc-fortify.patch 729 BLAKE2B 1e2a6c2e5453beb388aece2f176d7ad6d4861d1505d6c7fef424d5fb528397d6a2b08fc73589b7949928b6601d6ff474b73c2681e3c37e168adbc6249deb986e SHA512 7d6c8192e10e233e2cc362aff93489cdf4ddbfb0cebe6d5e9142dde3822bb0b3d65dd6f8c7846a7de608587444dbed21f7ff62b4cca99da1ca03bdd5447c3e5a
AUX urbackup-client-2.1.7-locale.patch 5291 BLAKE2B 69f7250a664955dff763ed6041f51992043e51aacb889d07c8853a2027f70a6147cb387ef1289051b7306223b6a8f7761ddae745b24019a50caf0fc8b301e1ce SHA512 f6d10a91b3f37539cf042f6c1a893a8a2b4ef085efd3ed7f5e4c55b0465fb6d36c8e0b3eaa1d33025d582ec7e3669c0e196c80b80199ece257596cccb4d110a4
AUX urbackup-client-2.1.7-manpage.patch 762 BLAKE2B 32867b389f62cd984330aa020c56509e39718ab876339be17806d8e07e5f7a89924fcd8687201e4ca30e8fda6bb4a3285ebfac605169cfcddb1e9c7c92dc9538 SHA512 8fd961ce1679ffb0a68a302ed3a4e361e7b91927dd8e02948ed6b39f10f3d78e123e8315e0dbc20b04e15275a1df6791952d56974f1f2082fce43cda229c17af
AUX urbackup-client-2.2.6-autoupdate.patch 4004 BLAKE2B c4a3f292ddccd42e181f0ca47db6e052fefb688fc91b2263e5ab05d3e53c78ca893fe96a041ecc84805b517fdbc9809d5ba801abf13afb0155f74f89d74b56a7 SHA512 f3f6fe1327e962201846fe290a31c8245a6ca7176982156ee5f176786804bc7092d667d1b64c10a82fc21079909f2133d2fb7171e9f791cd1038fd2c452db959
AUX urbackup-client-2.2.6-conf.patch 449 BLAKE2B ef041b9bb2ae2da0c27d288d9f891b4da7d02b47682c0ad0c70391e86ec327edb6777398b63964f3fe3ec6b0585d38f9ea996c90a4b813d16ca718ee44ba49a5 SHA512 acdaa882a426248898b944e3276296004d8340f2b47abe9b679270e53573c4e658e0eeb623ba5284eb66a3206c39ea99bca4465298baf2e7a1027970cc5acd51
AUX urbackup-client-2.2.6-etc-perms.patch 657 BLAKE2B 7dcd03d77e7e0b2e9c1de5b218931a0b3e4fb19567cab6e099523a4304308c6d083da4bd58bbbec5436383935a3f7709a5780178912d8cca87b450c06f7f1805 SHA512 ceaa1150055dacc4a12e3c93ff1403400da55921aee94350c0c4ddfd18b1d35096b4e590a7fc8a6c12734b842a99350c00153047c87c10d1dec2313f06445b0f
AUX urbackup-client-2.2.6-gcc-fortify.patch 755 BLAKE2B ddd12c744149a1d96124160b6427ea46af68a345476527f998919329de98c073974b9b91dee092dca389289dcf5c8cab1a9eddecda0fdb3e4b65cdcbad106ea9 SHA512 1e443f77d5a8aeec0a69085cbc49818cc576fdf8e87cbe7eee59d7d204b77c74f34005c8b86b4dd6e5086cfaeb976bc8a943782eb19dc406966fe2120b442fcd
AUX urbackup-client-2.2.6-locale.patch 5286 BLAKE2B 010e913808d44c188b96c218fc90381bb5a608c9eb36451f78b69e8dcb71669cd6d47ed88d176d6f4eced4bfa62420ffa1af1011618b3bbe5059e8edbc42cd23 SHA512 07114b7f39cfc81be33ba239f71e673f1e5c6c9c92249d9537e04ea9584e84bf4036f8e7a92f6428e299f69cef87790cbe89083047390fcd545ca594af12ad25
AUX urbackup-client-2.2.6-manpage.patch 757 BLAKE2B cb1e5d256fc9c059854382b8e52115cb8f6f9c60865de2511f8583d7e6782944e29a16112df9cb37694c26f0fe8f887fe576c055703a1c318a90ea56ae9fdd6b SHA512 9f32a68b8f64fa789f5247979fcc0c8df72b7e36a17591cb2fbe53ed94bb2bbdf5ec75148f9f412c8b94a10fe12aaeb272e271d62ef49e4e656a5cbf9aaf3ba7
AUX urbackup-client.service 262 BLAKE2B 17171c3ec094cee63c20327745f23f0cdd12a69c423d828c81aafa74c85fbe3234421ad35799f502dc572a238598de40f4d40c280cab52dd0e91b0799833c557 SHA512 0c473ab8d43344b2c851359b9463986083b3a56fe435a2c357d3f6b4364da5929d70439495aea1ed4999d76e8e9668b3ca74a1b3a4dcb1e76d1ed3b39a4a5616
AUX urbackupclient 327 BLAKE2B cfcc574da44cf6b574f34fa837f0a763c2775c111c02b3c51e7d206c6df7955082609cf196dc844d00ae32dfbed00d851a9290afed85ba442e575475acb768d1 SHA512 11a7e51f4cc74f04db9c60a76be760a526823e8163d9e246b6de6e139db19be1aa88a49b564eed60f12f9d55891d48798ba98a03b4a12e221351e638737e680e
DIST urbackup-client-2.0.36.tar.gz 3086145 BLAKE2B 02da0ac67e2fdeebbfaa6ef6db2200ec372556641cc6aa4f02b51116763eb556b670b4aed5eed3b2b3cfe2a9ac6a48fe9bafa61c6712deb506f2cb6766d1b445 SHA512 55e5a550695e562ed2324e1f313f711ffdac2dd3c459f9a2ed03f2ce707baddd4bdf41d1dd5df8d9fcf6b05e55bf75ea0194da713b99ef7378e1c883c2b45e86
DIST urbackup-client-2.2.6.tar.gz 3370637 BLAKE2B 6ab874b87d303b9ca5948000df24ca9d5fe0702d18ec34c99b7678212ae97696c68fd86cd89e45d8772675bd9fa6460d1a2a4c2f1f7a555a36805887c8d19621 SHA512 7a8aedb131f5b2cfc61ec6541b53780d2f98fae3981a40b5ceeff26f77965bb3c3780e7b8b2cb4ba2876b919589257dbd7661b18a493bf8e3793f7a7354bbcc8
EBUILD urbackup-client-2.0.36.ebuild 2166 BLAKE2B 29b54e2c12e3ef5a04b8ee949823e228990679d680eb84ecc22c018959ae3e96852554d4f8a85da80dd6d6b4b87f2f74bb101cde10384d970e3146e0b2b64009 SHA512 488bfcd3b272d4d4b782e422b89c1aa9bfe6332da8dacec4d009ab3572245511b4385d99b6024f5e4b56b2409a0abb2c2d50b59cc8f4607adb61e1a36b0374e0
EBUILD urbackup-client-2.2.6.ebuild 2173 BLAKE2B 41f57f58b89eb5ab271f29730ef652a790d406241155af9551153d039e626e2748edb17efe5aa51344aaefe82a066b660a27f2c849098931ece724a0a0e8eb48 SHA512 2b32df475c933a129c2b8afac8aa97b1bf3a9be9c5777b50679e7c9deefa27fb50fa80118d390a80d5271832b7a846ca802404fb2a77b126dc3b1d56539c5c84
MISC metadata.xml 1123 BLAKE2B 4b25aa5a7e767678d81060ba8b33aeda3285bd58658fc0ff22bdf5eff0324adde276ece79f160e4c9595fd0f7d1579037f0edfaaa36fc6a161d786eacc022e1a SHA512 dbd9fe25bfe7e5b73f19e6ee51db5f2803ee6167443fe2bcb2bd9cd9f86fb6d5f59db05f358bb2b61a876553de3c04c06f0985fc060ec0ff467b8015413b2f8b

View File

@ -1,33 +0,0 @@
#!/bin/bash
set -e
mkdir -p /mnt/urbackup_snaps
SNAP_ID=$1
SNAP_MOUNTPOINT="$2"
SNAP_NAME="$3"
SNAP_ORIG_PATH="$4"
SNAP_DEST=/mnt/urbackup_snaps/$SNAP_ID
TYPE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f2)
if [[ $TYPE == "" ]]
then
if btrfs subvolume list -o "$SNAP_MOUNTPOINT" > /dev/null 2>&1
then
TYPE="btrfs"
fi
fi
if [[ $TYPE == "btrfs" ]]
then
btrfs subvolume snapshot -r "$SNAP_MOUNTPOINT" "$SNAP_DEST"
else
echo "Cannot create snapshot of file system with type $TYPE"
exit 1
fi
echo "SNAPSHOT=$SNAP_DEST"
exit 0

View File

@ -1,35 +0,0 @@
#!/bin/bash
set -e
SNAP_ID=$1
SNAP_MOUNTPOINT="$2"
SNAP_NAME="$3"
SNAP_DEST="$4"
SNAP_ORIG_PATH="$5"
if ! test -e $SNAP_MOUNTPOINT
then
echo "Snapshot at $SNAP_MOUNTPOINT was already removed"
exit 0
fi
TYPE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | tr -s " " | cut -d" " -f2)
if [[ $TYPE == "" ]]
then
if btrfs subvolume list -o "$SNAP_MOUNTPOINT" > /dev/null 2>&1
then
TYPE="btrfs"
fi
fi
if [[ $TYPE == "btrfs" ]]
then
btrfs subvolume delete "$SNAP_MOUNTPOINT"
else
echo "Cannot remove snapshot at $SNAP_MOUNTPOINT. File system type $TYPE not supported."
exit 1
fi
exit 0

View File

@ -1,87 +0,0 @@
#!/bin/sh
set -e
mkdir -p /mnt/urbackup_snaps
SNAP_ID=$1
SNAP_MOUNTPOINT="$2"
SNAP_DEST=/mnt/urbackup_snaps/$SNAP_ID
DEVICE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1)
TYPE=$(df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f2)
if [ "x$DEVICE" = "x" ]
then
echo "Cannot get device for filesystem $SNAP_MOUNTPOINT"
exit 1
fi
echo "Snapshotting device $DEVICE via dattobd..."
NUM=0
while [ -e "/dev/datto$NUM" ]
do
NUM=`expr $NUM + 1`
done
if ! modprobe dattobd
then
echo "Dattobd kernel module not available"
exit 1
fi
echo "Using /dev/datto$NUM..."
sync
dbdctl setup-snapshot "$DEVICE" "$SNAP_MOUNTPOINT/.datto_$SNAP_ID" $NUM
echo $NUM > ${SNAP_DEST}-num
DEV_SIZE=`blockdev --getsize /dev/datto$NUM`
truncate -s100M $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
LODEV=`losetup -f`
if [ "x$LODEV" = x ]
then
rm "${SNAP_DEST}-num"
rm $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
dbdctl destroy $NUM
exit 1
fi
losetup $LODEV $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
echo "0 $DEV_SIZE snapshot /dev/datto$NUM $LODEV N 8" | dmsetup create "wsnap-$SNAP_ID"
echo "Mounting /dev/mapper/wsnap-$SNAP_ID..."
mkdir -p $SNAP_DEST
MOUNTOPTS="ro"
if [ $TYPE = "xfs" ]
then
MOUNTOPTS="ro,nouuid"
fi
if ! mount -o $MOUNTOPTS /dev/mapper/wsnap-$SNAP_ID $SNAP_DEST
then
echo "Mounting filesystem failed"
rmdir "$SNAP_DEST"
rm "${SNAP_DEST}-num"
dmsetup remove "wsnap-$SNAP_ID"
losetup -d $LODEV
rm $SNAP_MOUNTPOINT/.overlay_$SNAP_ID
dbdctl destroy $NUM
exit 1
fi
echo "SNAPSHOT=$SNAP_DEST"
exit 0

View File

@ -1,74 +0,0 @@
#!/bin/sh
set -e
SNAP_ID=$1
SNAP_MOUNTPOINT="$2"
SNAP_ORIG_PATH="$5"
remove_overlay() {
if test -e "$SNAP_ORIG_PATH/.overlay_$SNAP_ID"
then
LODEV=`losetup -j "$SNAP_ORIG_PATH/.overlay_$SNAP_ID" | cut -d':' -f1`
if [ "x$LODEV" != x ]
then
losetup -d $LODEV
fi
rm "$SNAP_ORIG_PATH/.overlay_$SNAP_ID"
fi
}
if ! test -e $SNAP_MOUNTPOINT
then
echo "Snapshot at $SNAP_MOUNTPOINT was already removed"
[ ! -e "$SNAP_ORIG_PATH/.datto_$SNAP_ID" ] || rm "$SNAP_ORIG_PATH/.datto_$SNAP_ID"
[ ! -e "${SNAP_MOUNTPOINT}-num" ] || rm "${SNAP_MOUNTPOINT}-num"
remove_overlay
exit 0
fi
if ! df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" > /dev/null 2>&1
then
echo "Snapshot is not mounted. Already removed"
rm "${SNAP_MOUNTPOINT}-num"
rmdir "${SNAP_MOUNTPOINT}"
[ ! -e "$SNAP_ORIG_PATH/.datto_$SNAP_ID" ] || rm "$SNAP_ORIG_PATH/.datto_$SNAP_ID"
remove_overlay
exit 0
fi
NUM=`cat "${SNAP_MOUNTPOINT}-num"` || true
if [ "x$NUM" = "x" ]
then
echo "Cannot get device number from ${SNAP_MOUNTPOINT}-num"
exit 1
fi
echo "Unmounting /dev/datto$NUM at /mnt/urbackup_snaps/$SNAP_ID..."
if ! umount /mnt/urbackup_snaps/$SNAP_ID
then
lsof | grep /mnt/urbackup_snaps/$SNAP_ID || true
echo "Unmounting /mnt/urbackup_snaps/$SNAP_ID failed. Retrying in 10s..."
sleep 10
umount /mnt/urbackup_snaps/$SNAP_ID
fi
rm "${SNAP_MOUNTPOINT}-num"
rmdir "${SNAP_MOUNTPOINT}"
echo "Removing devicemapper snapshot..."
dmsetup remove "wsnap-$SNAP_ID"
remove_overlay
echo "Destroying dattobd snapshot /dev/datto$NUM..."
dbdctl destroy $NUM
[ ! -e "$SNAP_ORIG_PATH/.datto_$SNAP_ID" ] || rm "$SNAP_ORIG_PATH/.datto_$SNAP_ID"
exit 0

View File

@ -1,10 +0,0 @@
"/var/log/urbackupclient.log" {
weekly
rotate 12
missingok
create 640 root root
compress
postrotate
test -e /var/run/urbackupclient.pid && kill -HUP `cat /var/run/urbackupclient.pid` || /bin/systemctl kill -s HUP urbackup-client.service
endscript
}

View File

@ -1,67 +0,0 @@
#!/bin/sh
set -e
#For 20GB
#SNAP_SIZE="-L20G"
SNAP_SIZE="-l50%FREE"
mkdir -p /mnt/urbackup_snaps
SNAP_ID=$1
SNAP_MOUNTPOINT="$2"
SNAP_DEST=/mnt/urbackup_snaps/$SNAP_ID
if lsblk -r --output "NAME,MOUNTPOINT" --paths > /dev/null 2>&1
then
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" --paths | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
else
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
VOLNAME="/dev/mapper/$VOLNAME"
fi
TYPE=`df -T -P | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f2`
if [ "x$VOLNAME" = x ]
then
echo "Could not find LVM volume for mountpoint ${SNAP_MOUNTPOINT}"
exit 1
fi
export LVM_SUPPRESS_FD_WARNINGS=1
VGNAME=`lvdisplay "$VOLNAME" | grep "VG Name" | tr -s " " | cut -d" " -f4`
if [ "x$VGNAME" = x ]
then
echo "Could not find LVM volume group of volume $VOLNAME"
exit 1
fi
if [ "x$SNAP_ID" = x ]
then
echo "No snapshot id specified"
exit 1
fi
lvcreate $SNAP_SIZE -s -n urbackup_snap_$SNAP_ID "$VOLNAME"
mkdir -p /mnt/urbackup_snaps/$SNAP_ID
MOUNTOPTS="ro"
if [ $TYPE = "xfs" ]
then
MOUNTOPTS="ro,nouuid"
fi
if ! mount -o $MOUNTOPTS /dev/$VGNAME/urbackup_snap_$SNAP_ID /mnt/urbackup_snaps/$SNAP_ID
then
echo "Mounting filesystem failed"
rmdir /mnt/urbackup_snaps/$SNAP_ID
lvremove -f /dev/$VGNAME/urbackup_snap_$SNAP_ID
exit 1
fi
echo "SNAPSHOT=/mnt/urbackup_snaps/$SNAP_ID"
exit 0

View File

@ -1,56 +0,0 @@
#!/bin/sh
set -e
SNAP_ID=$1
SNAP_MOUNTPOINT="$2"
if ! test -e $SNAP_MOUNTPOINT
then
echo "Snapshot at $SNAP_MOUNTPOINT was already removed"
exit 0
fi
if ! df -T -P | egrep "${SNAP_MOUNTPOINT}\$" > /dev/null 2>&1
then
echo "Snapshot is not mounted. Already removed"
rmdir "${SNAP_MOUNTPOINT}"
exit 0
fi
if lsblk -r --output "NAME,MOUNTPOINT" --paths > /dev/null 2>&1
then
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" --paths | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
else
VOLNAME=`lsblk -r --output "NAME,MOUNTPOINT" | egrep " ${SNAP_MOUNTPOINT}\$" | head -n 1 | tr -s " " | cut -d" " -f1`
VOLNAME="/dev/mapper/$VOLNAME"
fi
if [ "x$VOLNAME" = x ]
then
echo "Could not find LVM volume for mountpoint ${SNAP_MOUNTPOINT}"
exit 1
fi
if [ ! -e "$VOLNAME" ]
then
echo "LVM volume for mountpoint ${SNAP_MOUNTPOINT} does not exist"
exit 1
fi
echo "Unmounting $VOLNAME at /mnt/urbackup_snaps/$SNAP_ID..."
if ! umount /mnt/urbackup_snaps/$SNAP_ID
then
lsof | grep /mnt/urbackup_snaps/$SNAP_ID || true
sleep 10
umount /mnt/urbackup_snaps/$SNAP_ID
fi
rmdir "${SNAP_MOUNTPOINT}"
echo "Destroying LVM snapshot $VOLNAME..."
export LVM_SUPPRESS_FD_WARNINGS=1
lvremove -f "$VOLNAME"

View File

@ -1,9 +0,0 @@
# Uncomment one of the following, if supported
#create_filesystem_snapshot="/usr/share/urbackup/scripts/btrfs_create_filesystem_snapshot"
#create_filesystem_snapshot="/usr/share/urbackup/scripts/dattobd_create_filesystem_snapshot"
#create_filesystem_snapshot="/usr/share/urbackup/scripts/lvm_create_filesystem_snapshot"
# Uncomment one of the following, if supported
#remove_filesystem_snapshot="/usr/share/urbackup/scripts/btrfs_remove_filesystem_snapshot"
#remove_filesystem_snapshot="/usr/share/urbackup/scripts/dattobd_remove_filesystem_snapshot"
#remove_filesystem_snapshot="/usr/share/urbackup/scripts/lvm_remove_filesystem_snapshot"

View File

@ -1,43 +0,0 @@
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-12 00:37:35.211787887 +0000
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-12 00:40:03.010786666 +0000
@@ -1058,7 +1058,7 @@
$(urbackupclientctl_headers) $(client_headers) \
$(tclap_headers) $(urbackupclient_headers) $(cryptopp_headers)
EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
-EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client init.d_client_rh defaults_client $(EXTRA_DIST_GUI) tclap/COPYING tclap/AUTHORS urbackupclientbackend-debian.service urbackupclientbackend-redhat.service urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump urbackupclient/backup_scripts/postgresbase urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup client/version.txt client/data/urbackup_ecdsa409k1.pub linux_snapshot/btrfs_create_filesystem_snapshot linux_snapshot/btrfs_remove_filesystem_snapshot linux_snapshot/dattobd_create_filesystem_snapshot linux_snapshot/dattobd_remove_filesystem_snapshot linux_snapshot/lvm_create_filesystem_snapshot linux_snapshot/lvm_remove_filesystem_snapshot client/data/updates_h.dat
+EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client init.d_client_rh defaults_client $(EXTRA_DIST_GUI) tclap/COPYING tclap/AUTHORS urbackupclientbackend-debian.service urbackupclientbackend-redhat.service urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump urbackupclient/backup_scripts/postgresbase urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup linux_snapshot/btrfs_create_filesystem_snapshot linux_snapshot/btrfs_remove_filesystem_snapshot linux_snapshot/dattobd_create_filesystem_snapshot linux_snapshot/dattobd_remove_filesystem_snapshot linux_snapshot/lvm_create_filesystem_snapshot linux_snapshot/lvm_remove_filesystem_snapshot client/data/updates_h.dat
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -5365,19 +5365,19 @@
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.ico client/data/backup-ok.ico client/data/backup-progress.ico \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.ico client/data/backup-no-server.ico client/data/backup-no-recent.ico client/data/backup-indexing.ico \
-@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm \
-@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
@WITH_GUI_CLIENT_FALSE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
-@WITH_GUI_CLIENT_FALSE@ client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@WITH_GUI_CLIENT_FALSE@ client/data/updates_h.dat
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/urbackup/"
$(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/scripts"
@@ -5396,8 +5396,6 @@
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
- $(INSTALL_DATA) "$(srcdir)/client/version.txt" "$(DESTDIR)$(localstatedir)/urbackup/version.txt"
- $(INSTALL_DATA) "$(srcdir)/client/data/urbackup_ecdsa409k1.pub" "$(DESTDIR)$(datadir)/urbackup/"
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"

View File

@ -1,10 +0,0 @@
--- urbackup-client-2.0.36.0/defaults_client.orig 2016-12-14 10:18:18.865859774 +0000
+++ urbackup-client-2.0.36.0/defaults_client 2016-12-14 10:18:36.959859657 +0000
@@ -1,6 +1,6 @@
# Defaults for urbackup_client initscript
# sourced by /etc/init.d/urbackupclientbackend
-# installed at /etc/default/urbackupclient by the maintainer scripts
+# installed at /etc/conf.d/urbackupclient by the maintainer scripts
#
# This is parsed as a key=value file

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-23 20:39:12.807716385 +0000
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-23 20:44:10.582699173 +0000
@@ -5397,7 +5397,7 @@
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
- chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
+ chmod 644 "$(DESTDIR)$(sysconfdir)/urbackup/"*
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-11 06:35:06.995980034 +0000
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-11 06:35:38.645979659 +0000
@@ -935,7 +935,7 @@
fileservplugin/PipeFileBase.cpp \
fileservplugin/FileMetadataPipe.cpp \
fileservplugin/PipeFileTar.cpp
-@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIE
+@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIE
@WITH_FORTIFY_TRUE@FORTIFY_ldflags = -Wl,-z,relro
urbackupclientbackend_LDADD = $(PTHREAD_LIBS) $(DLOPEN_LIBS) \
$(am__append_2)

View File

@ -1,48 +0,0 @@
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-14 15:35:45.671736277 +0000
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-14 15:38:55.013735050 +0000
@@ -1057,7 +1057,7 @@
$(fileservplugin_headers) $(fsimageplugin_headers) \
$(urbackupclientctl_headers) $(client_headers) \
$(tclap_headers) $(urbackupclient_headers) $(cryptopp_headers)
-EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
+EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/gui/GUISetupWizard.h client/SetupWizard.h
EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client init.d_client_rh defaults_client $(EXTRA_DIST_GUI) tclap/COPYING tclap/AUTHORS urbackupclientbackend-debian.service urbackupclientbackend-redhat.service urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump urbackupclient/backup_scripts/postgresbase urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup linux_snapshot/btrfs_create_filesystem_snapshot linux_snapshot/btrfs_remove_filesystem_snapshot linux_snapshot/dattobd_create_filesystem_snapshot linux_snapshot/dattobd_remove_filesystem_snapshot linux_snapshot/lvm_create_filesystem_snapshot linux_snapshot/lvm_remove_filesystem_snapshot client/data/updates_h.dat
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -5405,36 +5405,6 @@
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.ico "$(DESTDIR)$(datadir)/urbackup/"
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.xpm "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/info.txt "$(DESTDIR)$(datadir)/urbackup/"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/it"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pl"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/sk"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/de"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/es"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fr"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/ru"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/uk"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/da"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/nl"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fa"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/cs"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/it/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/it/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pl/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pt_BR/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/sk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/sk/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_TW/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_CN/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/de/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/de/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/es/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/es/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fr/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fr/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/ru/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/ru/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/uk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/uk/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/da/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/da/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/nl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/nl/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fa/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fa/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/cs/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/cs/urbackup.mo"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.0.36.0/Makefile.in.orig 2016-12-14 09:48:27.808871387 +0000
+++ urbackup-client-2.0.36.0/Makefile.in 2016-12-14 10:07:13.401864089 +0000
@@ -5358,6 +5358,8 @@
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup"
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup/data"
+ mkdir -p "$(DESTDIR)$(datadir)/man/man1"
+ $(INSTALL_DATA) $(srcdir)/docs/urbackupclientbackend.1 "$(DESTDIR)$(datadir)/man/man1/urbackupclientbackend.1"
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \

View File

@ -1,42 +0,0 @@
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-17 06:42:44.392727732 +0000
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:44:56.947725972 +0000
@@ -1085,7 +1085,6 @@
urbackupclient/backup_scripts/mariadbpostbackup \
urbackupclient/backup_scripts/setup-mariadbbackup \
urbackupclient/backup_scripts/restore-mariadbbackup \
- client/version.txt client/data/urbackup_ecdsa409k1.pub \
linux_snapshot/btrfs_create_filesystem_snapshot \
linux_snapshot/btrfs_remove_filesystem_snapshot \
linux_snapshot/dattobd_create_filesystem_snapshot \
@@ -5417,19 +5416,19 @@
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.ico client/data/backup-ok.ico client/data/backup-progress.ico \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.ico client/data/backup-no-server.ico client/data/backup-no-recent.ico client/data/backup-indexing.ico \
-@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm \
-@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
@WITH_GUI_CLIENT_FALSE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
-@WITH_GUI_CLIENT_FALSE@ client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@WITH_GUI_CLIENT_FALSE@ client/data/updates_h.dat
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/urbackup/"
$(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/scripts"
@@ -5455,8 +5454,6 @@
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
- $(INSTALL_DATA) "$(srcdir)/client/version.txt" "$(DESTDIR)$(localstatedir)/urbackup/version.txt"
- $(INSTALL_DATA) "$(srcdir)/client/data/urbackup_ecdsa409k1.pub" "$(DESTDIR)$(datadir)/urbackup/"
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"

View File

@ -1,10 +0,0 @@
--- urbackup-client-2.1.7.0/defaults_client.orig 2016-12-17 06:48:17.231723312 +0000
+++ urbackup-client-2.1.7.0/defaults_client 2016-12-17 06:48:29.152723153 +0000
@@ -1,6 +1,6 @@
# Defaults for urbackup_client initscript
# sourced by /etc/init.d/urbackupclientbackend
-# installed at /etc/default/urbackupclient by the maintainer scripts
+# installed at /etc/conf.d/urbackupclient by the maintainer scripts
#
# This is parsed as a key=value file

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-23 20:48:23.003684583 +0000
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-23 20:48:52.383682885 +0000
@@ -5455,7 +5455,7 @@
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
- chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
+ chmod 644 "$(DESTDIR)$(sysconfdir)/urbackup/"*
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-15 19:25:03.000000000 +0000
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:33:28.964735108 +0000
@@ -939,7 +939,7 @@
fileservplugin/PipeFileBase.cpp \
fileservplugin/FileMetadataPipe.cpp \
fileservplugin/PipeFileTar.cpp
-@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIE
+@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIE
@WITH_FORTIFY_TRUE@FORTIFY_ldflags = -Wl,-z,relro
urbackupclientbackend_LDADD = $(PTHREAD_LIBS) $(DLOPEN_LIBS) \
$(am__append_2)

View File

@ -1,48 +0,0 @@
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-17 06:51:08.068721043 +0000
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:53:14.737719361 +0000
@@ -1063,7 +1063,7 @@
$(fsimageplugin_headers) $(urbackupclientctl_headers) \
$(client_headers) $(tclap_headers) $(urbackupclient_headers) \
$(cryptopp_headers)
-EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
+EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/gui/GUISetupWizard.h client/SetupWizard.h
EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client \
init.d_client_rh defaults_client $(EXTRA_DIST_GUI) \
tclap/COPYING tclap/AUTHORS \
@@ -5461,36 +5461,6 @@
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.ico "$(DESTDIR)$(datadir)/urbackup/"
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.xpm "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/info.txt "$(DESTDIR)$(datadir)/urbackup/"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/it"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pl"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/sk"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/de"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/es"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fr"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/ru"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/uk"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/da"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/nl"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fa"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/cs"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/it/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/it/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pl/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pt_BR/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/sk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/sk/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_TW/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_CN/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/de/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/de/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/es/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/es/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fr/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fr/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/ru/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/ru/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/uk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/uk/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/da/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/da/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/nl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/nl/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fa/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fa/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/cs/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/cs/urbackup.mo"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.1.7.0/Makefile.in.orig 2016-12-17 06:53:14.737719361 +0000
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:55:50.504717292 +0000
@@ -5409,6 +5409,8 @@
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup"
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup/data"
+ mkdir -p "$(DESTDIR)$(datadir)/man/man1"
+ $(INSTALL_DATA) $(srcdir)/docs/urbackupclientbackend.1 "$(DESTDIR)$(datadir)/man/man1/urbackupclientbackend.1"
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \

View File

@ -1,42 +0,0 @@
--- urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:42:44.392727732 +0000
+++ urbackup-client-2.1.7.0/Makefile.in 2016-12-17 06:44:56.947725972 +0000
@@ -1085,7 +1085,6 @@
urbackupclient/backup_scripts/mariadbpostbackup \
urbackupclient/backup_scripts/setup-mariadbbackup \
urbackupclient/backup_scripts/restore-mariadbbackup \
- client/version.txt client/data/urbackup_ecdsa409k1.pub \
linux_snapshot/btrfs_create_filesystem_snapshot \
linux_snapshot/btrfs_remove_filesystem_snapshot \
linux_snapshot/dattobd_create_filesystem_snapshot \
@@ -5417,19 +5416,19 @@
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.ico client/data/backup-ok.ico client/data/backup-progress.ico \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.ico client/data/backup-no-server.ico client/data/backup-no-recent.ico client/data/backup-indexing.ico \
-@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm \
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm \
-@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ client/data/logo1.png client/data/lang/*/*.mo client/data/updates_h.dat
@WITH_GUI_CLIENT_FALSE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/postgresbase.conf urbackupclient/backup_scripts/postgresbase \
@WITH_GUI_CLIENT_FALSE@ urbackupclient/backup_scripts/mariadbxtrabackup.conf urbackupclient/backup_scripts/mariadbxtrabackup \
-@WITH_GUI_CLIENT_FALSE@ client/version.txt client/data/urbackup_ecdsa409k1.pub client/data/updates_h.dat
+@WITH_GUI_CLIENT_FALSE@ client/data/updates_h.dat
$(MKDIR_P) "$(DESTDIR)$(localstatedir)/urbackup/"
$(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/scripts"
@@ -5455,8 +5454,6 @@
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
- $(INSTALL_DATA) "$(srcdir)/client/version.txt" "$(DESTDIR)$(localstatedir)/urbackup/version.txt"
- $(INSTALL_DATA) "$(srcdir)/client/data/urbackup_ecdsa409k1.pub" "$(DESTDIR)$(datadir)/urbackup/"
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"

View File

@ -1,10 +0,0 @@
--- urbackup-client-2.2.6.0/defaults_client 2018-04-08 15:59:19.000000000 -0400
+++ urbackup-client-2.2.6.0/defaults_client 2018-07-20 21:30:17.052888478 -0400
@@ -1,6 +1,6 @@
# Defaults for urbackup_client initscript
# sourced by /etc/init.d/urbackupclientbackend
-# installed at /etc/default/urbackupclient by the maintainer scripts
+# installed at /etc/conf.d/urbackupclient by the maintainer scripts
#
# This is parsed as a key=value file

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.2.6.0/Makefile.in.orig 2018-07-20 22:23:43.137711139 -0400
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 22:25:11.716706240 -0400
@@ -5550,7 +5550,7 @@
for script in "$(DESTDIR)$(datadir)/urbackup/scripts/"*; do sed "s|SYSCONFDIR|$(sysconfdir)/urbackup|g" "$$script" > "$$script.r"; mv "$$script.r" "$$script"; done
chmod 700 "$(DESTDIR)$(datadir)/urbackup/scripts/"*
- chmod 700 "$(DESTDIR)$(sysconfdir)/urbackup/"*
+ chmod 644 "$(DESTDIR)$(sysconfdir)/urbackup/"*
$(INSTALL_DATA) "$(srcdir)/client/data/updates_h.dat" "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup"

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.2.6.0/Makefile.in 2018-05-17 08:55:38.000000000 -0400
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:33:01.871879361 -0400
@@ -959,7 +959,7 @@
fileservplugin/PipeFileBase.cpp \
fileservplugin/FileMetadataPipe.cpp \
fileservplugin/PipeFileTar.cpp fileservplugin/PipeFileExt.cpp
-@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -fPIE
+@WITH_FORTIFY_TRUE@FORTIFY_FLAGS = -fstack-protector-strong --param=ssp-buffer-size=4 -Wformat -Werror=format-security -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fPIE
@WITH_FORTIFY_TRUE@FORTIFY_ldflags = -Wl,-z,relro
urbackupclientbackend_LDADD = $(PTHREAD_LIBS) $(DLOPEN_LIBS) \
$(am__append_2)

View File

@ -1,48 +0,0 @@
--- urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:35:41.607870526 -0400
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:38:50.260860091 -0400
@@ -1086,7 +1086,7 @@
$(fsimageplugin_headers) $(urbackupclientctl_headers) \
$(client_headers) $(tclap_headers) $(urbackupclient_headers) \
$(cryptopp_headers)
-EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/data/lang/it/urbackup.mo client/data/lang/pl/urbackup.mo client/data/lang/pt_BR/urbackup.mo client/data/lang/sk/urbackup.mo client/data/lang/zh_TW/urbackup.mo client/data/lang/zh_CN/urbackup.mo client/data/lang/de/urbackup.mo client/data/lang/es/urbackup.mo client/data/lang/fr/urbackup.mo client/data/lang/ru/urbackup.mo client/data/lang/uk/urbackup.mo client/data/lang/da/urbackup.mo client/data/lang/nl/urbackup.mo client/data/lang/fa/urbackup.mo client/data/lang/cs/urbackup.mo client/gui/GUISetupWizard.h client/SetupWizard.h
+EXTRA_DIST_GUI = client/info.txt client/data/backup-bad.xpm client/data/backup-ok.xpm client/data/backup-progress.xpm client/data/backup-progress-pause.xpm client/data/backup-no-server.xpm client/data/backup-no-recent.xpm client/data/backup-indexing.xpm client/data/logo1.png client/gui/GUISetupWizard.h client/SetupWizard.h
EXTRA_DIST = docs/urbackupclientbackend.1 init.d_client \
init.d_client_rh defaults_client $(EXTRA_DIST_GUI) \
tclap/COPYING tclap/AUTHORS \
@@ -5559,36 +5559,6 @@
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.ico "$(DESTDIR)$(datadir)/urbackup/"
@MACOSX_FALSE@@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/data/*.xpm "$(DESTDIR)$(datadir)/urbackup/"
@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) $(srcdir)/client/info.txt "$(DESTDIR)$(datadir)/urbackup/"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/it"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pl"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/sk"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/de"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/es"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fr"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/ru"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/uk"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/da"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/nl"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/fa"
-@WITH_GUI_CLIENT_TRUE@ $(MKDIR_P) "$(DESTDIR)$(datadir)/urbackup/lang/cs"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/it/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/it/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pl/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/pt_BR/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/pt_BR/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/sk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/sk/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_TW/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_TW/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/zh_CN/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/zh_CN/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/de/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/de/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/es/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/es/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fr/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fr/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/ru/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/ru/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/uk/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/uk/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/da/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/da/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/nl/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/nl/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/fa/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/fa/urbackup.mo"
-@WITH_GUI_CLIENT_TRUE@ $(INSTALL_DATA) "$(srcdir)/client/data/lang/cs/urbackup.mo" "$(DESTDIR)$(datadir)/urbackup/lang/cs/urbackup.mo"
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.

View File

@ -1,11 +0,0 @@
--- urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:38:50.260860091 -0400
+++ urbackup-client-2.2.6.0/Makefile.in 2018-07-20 21:39:47.353856933 -0400
@@ -5505,6 +5505,8 @@
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup"
mkdir -p "$(DESTDIR)$(localstatedir)/urbackup/data"
+ mkdir -p "$(DESTDIR)$(datadir)/man/man1"
+ $(INSTALL_DATA) $(srcdir)/docs/urbackupclientbackend.1 "$(DESTDIR)$(datadir)/man/man1/urbackupclientbackend.1"
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@install-data-local: urbackupclient/backup_scripts/list urbackupclient/backup_scripts/mariadbdump.conf urbackupclient/backup_scripts/mariadbdump \
@MACOSX_TRUE@@WITH_GUI_CLIENT_TRUE@ urbackupclient/backup_scripts/postgresqldump.conf urbackupclient/backup_scripts/postgresqldump \

View File

@ -1,11 +0,0 @@
[Unit]
Description=UrBackup backup client backend
After=syslog.target network.target
[Service]
Type=simple
User=root
ExecStart=/usr/sbin/urbackupclientbackend -c /etc/conf.d/urbackupclient -w /var/run/urbackupclient.pid -d
[Install]
WantedBy=multi-user.target

View File

@ -1,13 +0,0 @@
#!/sbin/openrc-run
# $Id$
URBACKUPCLIENT_CONFIG="/etc/conf.d/urbackupclient"
URBACKUPCLIENT_PIDFILE="/var/run/urbackupclient.pid"
command="/usr/sbin/urbackupclientbackend"
command_args="-c ${URBACKUPCLIENT_CONFIG} -w ${URBACKUPCLIENT_PIDFILE} -d"
pidfile="${URBACKUPCLIENT_PIDFILE}"
depend() {
use logger net urbackupsrv
}

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo@slated.org</email>
<name>Homer</name>
</maintainer>
<upstream>
<remote-id type="github">urbackup-backend</remote-id>
</upstream>
<longdescription>UrBackup is an easy to setup Open Source client/server backup system, that through a combination of image (currently on Windows only) and file backups accomplishes both data safety and a fast restoration time.
Backups are made while the system is running without interrupting current processes.
UrBackup also continuously watches folders you want backed up in order to quickly find differences to previous backups. Because of that, incremental file backups are really fast.
Your files can be restored through the web interface, via app-backup/urbackup-client or the file manager, while the backups of drive volumes can be restored with a bootable CD or USB-Stick (bare metal restore).</longdescription>
<use>
<flag name="X">Enables building the wxWidgets GUI</flag>
</use>
</pkgmetadata>

View File

@ -1,72 +0,0 @@
# copyright © 2016 slated.org
# Distributed under the terms of the AGPLv3+
# $Header: $
EAPI=6
inherit wxwidgets l10n systemd
PLOCALES="cs da de es fa fr it nl pl pt_BR ru sk uk zh_CN zh_TW"
PLOCALE_BACKUP="en"
DESCRIPTION="Client for UrBackup server"
HOMEPAGE="https://www.urbackup.org"
SRC_URI="https://hndl.urbackup.org/Client/${PV}/${P}.tar.gz"
S=${WORKDIR}/${P}.0
SLOT="0"
LICENSE="AGPL-3"
KEYWORDS="~amd64 ~x86"
IUSE="hardened X zlib linguas_cs linguas_da linguas_de linguas_es linguas_fa linguas_fr linguas_it linguas_nl linguas_pl linguas_pt_BR linguas_ru linguas_sk linguas_uk linguas_zh_CN linguas_zh_TW"
RDEPEND="
dev-db/sqlite
X? ( x11-libs/wxGTK:2.9 )
>=dev-libs/crypto++-5.1
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${P}-gcc-fortify.patch"
"${FILESDIR}/${P}-autoupdate.patch"
"${FILESDIR}/${P}-manpage.patch"
"${FILESDIR}/${P}-conf.patch"
"${FILESDIR}/${P}-locale.patch"
"${FILESDIR}/${P}-etc-perms.patch"
)
src_configure() {
econf \
$(use_enable hardened fortify) \
$(use_enable !X headless) \
$(use_with zlib) \
--disable-clientupdate
}
src_install() {
dodir "${EPREFIX}"/usr/share/man/man1
install_locale_docs() {
local locale_doc="client/data/lang/$1/urbackup.mo"
insinto "${EPREFIX}"/usr/share/locale/$1/LC_MESSAGES
[[ ! -e ${locale_doc} ]] || doins ${locale_doc}
}
emake DESTDIR="${D}" install
if use X
then l10n_for_each_locale_do install_locale_docs
fi
insinto "${EPREFIX}"/etc/logrotate.d
newins "${FILESDIR}"/logrotate_urbackupclient urbackupclient
newconfd defaults_client urbackupclient
doinitd "${FILESDIR}"/urbackupclient
systemd_dounit "${FILESDIR}"/urbackup-client.service
dodir "${EPREFIX}"/etc/urbackup
insinto "${EPREFIX}"/etc/urbackup
doins "${FILESDIR}"/snapshot.cfg
insinto "${EPREFIX}"/usr/share/urbackup/scripts
insopts -m0700
doins "${FILESDIR}"/btrfs_create_filesystem_snapshot
doins "${FILESDIR}"/btrfs_remove_filesystem_snapshot
doins "${FILESDIR}"/dattobd_create_filesystem_snapshot
doins "${FILESDIR}"/dattobd_remove_filesystem_snapshot
doins "${FILESDIR}"/lvm_create_filesystem_snapshot
doins "${FILESDIR}"/lvm_remove_filesystem_snapshot
}

View File

@ -1,72 +0,0 @@
# copyright © 2016 slated.org
# Distributed under the terms of the AGPLv3+
# $Header: $
EAPI=6
inherit wxwidgets l10n systemd
PLOCALES="cs da de es fa fr it nl pl pt_BR ru sk uk zh_CN zh_TW"
PLOCALE_BACKUP="en"
DESCRIPTION="Client for UrBackup server"
HOMEPAGE="https://www.urbackup.org"
SRC_URI="https://hndl.urbackup.org/Client/${PV}/${P}.tar.gz"
S="${WORKDIR}"/"${P}.0"
SLOT="0"
LICENSE="AGPL-3"
KEYWORDS="~amd64 ~x86"
IUSE="hardened X zlib linguas_cs linguas_da linguas_de linguas_es linguas_fa linguas_fr linguas_it linguas_nl linguas_pl linguas_pt_BR linguas_ru linguas_sk linguas_uk linguas_zh_CN linguas_zh_TW"
RDEPEND="
dev-db/sqlite
X? ( x11-libs/wxGTK:3.0[X] )
>=dev-libs/crypto++-5.1
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}/${P}-gcc-fortify.patch"
"${FILESDIR}/${P}-autoupdate.patch"
"${FILESDIR}/${P}-manpage.patch"
"${FILESDIR}/${P}-conf.patch"
"${FILESDIR}/${P}-locale.patch"
"${FILESDIR}/${P}-etc-perms.patch"
)
src_configure() {
econf \
$(use_enable hardened fortify) \
$(use_enable !X headless) \
$(use_with zlib) \
--disable-clientupdate
}
src_install() {
dodir "${EPREFIX}"/usr/share/man/man1
install_locale_docs() {
local locale_doc="client/data/lang/$1/urbackup.mo"
insinto "${EPREFIX}"/usr/share/locale/$1/LC_MESSAGES
[[ ! -e ${locale_doc} ]] || doins ${locale_doc}
}
emake DESTDIR="${D}" install
if use X
then l10n_for_each_locale_do install_locale_docs
fi
insinto "${EPREFIX}"/etc/logrotate.d
newins "${FILESDIR}"/logrotate_urbackupclient urbackupclient
newconfd defaults_client urbackupclient
doinitd "${FILESDIR}"/urbackupclient
systemd_dounit "${FILESDIR}"/urbackup-client.service
dodir "${EPREFIX}"/etc/urbackup
insinto "${EPREFIX}"/etc/urbackup
doins "${FILESDIR}"/snapshot.cfg
insinto "${EPREFIX}"/usr/share/urbackup/scripts
insopts -m0700
doins "${FILESDIR}"/btrfs_create_filesystem_snapshot
doins "${FILESDIR}"/btrfs_remove_filesystem_snapshot
doins "${FILESDIR}"/dattobd_create_filesystem_snapshot
doins "${FILESDIR}"/dattobd_remove_filesystem_snapshot
doins "${FILESDIR}"/lvm_create_filesystem_snapshot
doins "${FILESDIR}"/lvm_remove_filesystem_snapshot
}

View File

@ -1,6 +0,0 @@
DIST 1.4.2.tar.gz 86606 SHA256 6259e8206ef996c8f925a536dda09d955bd6308d1e9b3b5b6bcdfd00e8ac8f41 SHA512 276f5f39520d6d900049976a757e46916a734876b4bc7de995e39d99c626ba801acdbbea333dfeeeeb59a21b7e820a0a1f4a6aa14ec63acbff56a8e6a067f649 WHIRLPOOL ec8a331424ace013a856e4d8fd983bce2ed04863ecfa6c23d3300e59fde46e13aa4be176b0a4baa5b680cc2e4f678da40d9139d85c71d07bb3144d47ec7e1b33
DIST 1.4.3.tar.gz 87026 SHA256 7bb027d34b98ae2c5aa5066177ba7a1542c786e16e52d47dc3c29bb326b1cd4a SHA512 52a571f4e3e92e5f49a1b59d98e0f37a72bfbcb0c0f0b8f88f63a889b18d96673b0e333949a369aab124760be5ec59287d766159c9066749a8371cdb818ecb58 WHIRLPOOL 74ac1bc00970afc7f7507c9156c8e8e2d798b6384ba1702825c4d327a4529263737134c664bbb07e882e82e22a964d4ce5e4acdebfd64d6ecded91f584340b62
DIST 1.4.4.tar.gz 87118 SHA256 efccccd2a045da91576c591968374379da1dc4ca2e3dec4d3f8f12628fa29a85 SHA512 96f0984be71e521b2a188448bb2801996701be6e96b1dac4672cabc9f6bcb6631fdb8d03f5dde4bbdbb0050d9bd1409d468fcba15f93730d69e6c55271aba575 WHIRLPOOL 4c41f300177b3a140f833f999e5b86e8c3386e81c02a7a94f2a0dd418ba2027adb2c7906d5d2a59fba12b47c5ea3190727ef63b1e8fd12eef8bc9fbe2ca426a6
EBUILD zbackup-1.4.2.ebuild 523 SHA256 f959d0a13723b9f2cce27f6b3e37623dabb8c7ddc538c34a40afc103a0b83200 SHA512 9456ff2ccaf4b653b5bcf6033d9335f2cac4d0677d3ad4d60e3acc2ac60c5ffcdd6a3c84e58a73d663a698555bd93c4e684a02d0aef6c353aab1ae6f2cf33e28 WHIRLPOOL 90437a4a5b370f43836e571c835342b8afcc7cd38e34027d402c3128f51b9406d4a8d725117ab6e281a7ee21b73ed0fb4f09cdb0a004e4a81e31128a26d230a2
EBUILD zbackup-1.4.3.ebuild 523 SHA256 f959d0a13723b9f2cce27f6b3e37623dabb8c7ddc538c34a40afc103a0b83200 SHA512 9456ff2ccaf4b653b5bcf6033d9335f2cac4d0677d3ad4d60e3acc2ac60c5ffcdd6a3c84e58a73d663a698555bd93c4e684a02d0aef6c353aab1ae6f2cf33e28 WHIRLPOOL 90437a4a5b370f43836e571c835342b8afcc7cd38e34027d402c3128f51b9406d4a8d725117ab6e281a7ee21b73ed0fb4f09cdb0a004e4a81e31128a26d230a2
EBUILD zbackup-1.4.4.ebuild 570 SHA256 4148ce84e3c3bc8c9dcb507ca4f88106342291ea1fc34ffd46faf628cadc4719 SHA512 f64086dda4e9d3163c8dbcc4843177f0ff2b945bd808fc45d6ef5f0983619ab93fe2372b3c0c49ac6d022cf6d5cb497624ed8861f49d3c9ff8da7c830d35b77e WHIRLPOOL ff53eb2cae91e7f4e51f511563db4c091328a868af6265042c81a645afe94a70d5f33cb729b495ce252a8b94e47900fbe7eec46bea526a1f69a69aa4f1541f0e

View File

@ -1,30 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit cmake-utils
DESCRIPTION="A deduplicating compressed archiver"
HOMEPAGE="http://zbackup.org/"
SRC_URI="https://github.com/zbackup/${PN}/archive/${PV}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
dev-util/cmake
dev-libs/protobuf
sys-libs/zlib
dev-libs/openssl
app-arch/xz-utils
dev-libs/lzo
"
RDEPEND="${DEPEND}"
src_prepare() {
cmake-utils_src_prepare
}

View File

@ -1,30 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit cmake-utils
DESCRIPTION="A deduplicating compressed archiver"
HOMEPAGE="http://zbackup.org/"
SRC_URI="https://github.com/zbackup/${PN}/archive/${PV}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
dev-util/cmake
dev-libs/protobuf
sys-libs/zlib
dev-libs/openssl
app-arch/xz-utils
dev-libs/lzo
"
RDEPEND="${DEPEND}"
src_prepare() {
cmake-utils_src_prepare
}

View File

@ -1,33 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit cmake-utils
DESCRIPTION="A deduplicating compressed archiver"
HOMEPAGE="http://zbackup.org/"
SRC_URI="https://github.com/zbackup/${PN}/archive/${PV}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND="
dev-util/cmake
dev-libs/protobuf
sys-libs/zlib
dev-libs/openssl
app-arch/xz-utils
dev-libs/lzo
"
RDEPEND="${DEPEND}"
src_prepare() {
cmake-utils_src_prepare
}
src_configure() {
cmake-utils_src_configure
}

View File

@ -1,4 +1 @@
DIST zeal-1.0.0.tar.gz 1062839 SHA256 b9d3fd3b74b0d04fe06b6449088ddea197b0c3147130585956b6b929234fbd1e SHA512 7b9c1f1c154043324946ef9dc6495d81cc7cac53099e3f1ec686fdb6c2b9fb7a3de479d78a1fc3b22308951a57658b762d05f5b30669bc23390007c81dd4ce0f WHIRLPOOL b9cd5a80c17507513543ffd1589852c6b7bac0fed4fddf69bfbb6d606f61e1116b32140347e14fb8dee5c1e78c5386c6780ed58ad0935028e55e02c991c0743f DIST zeal-1.0.0.tar.gz 1062839 SHA256 b9d3fd3b74b0d04fe06b6449088ddea197b0c3147130585956b6b929234fbd1e SHA512 7b9c1f1c154043324946ef9dc6495d81cc7cac53099e3f1ec686fdb6c2b9fb7a3de479d78a1fc3b22308951a57658b762d05f5b30669bc23390007c81dd4ce0f WHIRLPOOL b9cd5a80c17507513543ffd1589852c6b7bac0fed4fddf69bfbb6d606f61e1116b32140347e14fb8dee5c1e78c5386c6780ed58ad0935028e55e02c991c0743f
EBUILD zeal-1.0.0.ebuild 985 SHA256 2f6b37507d35e84b1161075e456690ed8650b4876af0b1ad00b9affeb63cf8db SHA512 67fb2578047d71d1b19e22c91b62767dd2aa4ac35a4bc3a9844c7cf54e3cdb435ac9e532d370e765e271d170e188b54001fb2111f847bb6d0c5c40d8cef2c5fd WHIRLPOOL 26aceb22613e1bd2290984a4eda888188745d262c2aa5f95542e69104b47b6988c8ef4ae4d34f02bfb1f6356939e908db0349a3a54c7b66e935b844085da9d99
EBUILD zeal-9999.ebuild 848 SHA256 da86a08002728afd70046695534cc9a87fb246e30e9122c0f1245e6aaac90093 SHA512 e74493a2d3ca228e75c24347c641f9a54095c65d58dd061558590c8654fc2dda3219e71e4505f93271faed8354617d34ebe364c0196fe42ee977d0767296a4d3 WHIRLPOOL c95382b2e1c86b6d07b030d4702055d9367d2a378b22fcb0dc2d90264304eac80004a782db4cc6fbc2b234000ab1211ffb90195ef97f0628ca712828a867e869
MISC metadata.xml 786 SHA256 47fad2b2fa5bbbe474b4da2368cdc3f42369972ec1a14036ab5510e57108acf2 SHA512 0e612af8bf4069d5d8e624d49147ec824ebc79b99195b18fdec11ced77d94fa97d30b056b0e7ba26522f953e599c0b71b67216e2d940e66cfb2458c04da24429 WHIRLPOOL df1de8ea39f3e8a5b9860b526d761e30fbf503c073c7f9ad05c0f5655e3dfd86636c1817a5087701f5420e5b6f1e192ead8e445aa8a4cf6570eee9cf54e68023

View File

@ -1,6 +0,0 @@
AUX desmume-0.9.11-fix-pointer-conversion-warning.diff 370 BLAKE2B 8e019cf69a13b3669166f1ee04d26e6538a392e494d356b2eeabd43ac69fe9489ddeda146054ab5d1f821b3a52719d58ae493ca870f46461eacaab26ffb9eba1 SHA512 f7d5f4ac4d96f244aa6ee81a90f64e754aceebf075f1c4ff84dde2d1d2beaf617631569c5aa9a8afb40ae4499067e2233ba00a4b9d606a9608915714766d0bff
AUX desmume-0.9.11-gcc6.patch 1991 BLAKE2B ffb0a58f7317aa50fe17c4abe1ba6c9bbf9cb937736479214b86187c32af8c1659aa719eccce184a5f0fa1b31f15634276fb676bf97ec64feba603fa89ee289f SHA512 e9249a613f1bf3b6d72dcce47cbc39daeadb1b4f7b9be2748b537ec3389a61f46b5f15f5a10d55bc4b1dbd69dd87526b5ce79e58b539cf432679da9bc803e0cd
AUX desmume-0.9.11-pointer-int-comparison-fix.patch 455 BLAKE2B 81a55e333c031d7c28c067455c47477b961c8ab7fa5e5f037b9b967bd8d2324903da136978f3ff9bd60cdc2953cb9f06a5797be8c0db2598fdd5a1248c9c54d9 SHA512 c0db6f17841cc2a9c4b7547a0087124f6489681436156ce8a20e212fb949ffb049119a1d5c3b01006163f16916351925b746fa7378657b8599e299ed0465a6f9
DIST desmume-0.9.11.tar.gz 5359305 BLAKE2B 31764dcb2d0facf32eddd5c66f40e2268f8afd5c2562bf246b93bb60c191d7888587991732014dee11417016515a4367bda9acf79f699703754aa904dcaeeb01 SHA512 160cb6ec0ede04ad1fbddde2b7b04aa41fa464c8338d7eb9d7536196a82d8d716889b40be4fb831a22e3fe8532b947f7f0b41311601b6842be2516dff7cae46c
EBUILD desmume-0.9.11-r1.ebuild 807 BLAKE2B 9b12e16127ccd22cd8a38d67b2d03d222740075c59210c850dad549bc84948438642060b15d6dc7f3290dc4c5cf6f686a91addd9b24c769c1bb48b90e1b9537e SHA512 51cf26731c490043971166dac9cb662dfbb1730b6a6a2675ea03a4bc58db54c5c47b881a413875ebea17f0b85723e8aa1835431f689d2c85c169baedbc9db9c3
MISC metadata.xml 407 BLAKE2B a64ba166734f13f34fec0ca394d4d51bc70f2cb9539981e068e544f3139584ee3ec2da89a02ef9203008cb73213213adb148c978311ae36d95749e553d10605b SHA512 89d3a5b608525bfa1f05503017619520d82c663241668c3d5fa5602e625cbfe02564b04d7bac0e97bbe53ff8eba08a6895fb0e8cd519d0d88efd29a0ca64ac4b

View File

@ -1,35 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DESCRIPTION="Nintendo DS emulator"
HOMEPAGE="http://desmume.org/"
SRC_URI="mirror://sourceforge/desmume/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND=">=x11-libs/gtk+-2.8.0:2
gnome-base/libglade
x11-libs/gtkglext
virtual/opengl
sys-libs/zlib
dev-libs/zziplib
media-libs/libsdl[joystick,opengl,video]
x11-libs/agg"
DEPEND="${RDEPEND}
virtual/pkgconfig
dev-util/intltool"
DOCS=( AUTHORS ChangeLog README README.LIN )
# fix QA compiler warning, see
# https://sourceforge.net/p/desmume/patches/172/
PATCHES=(
"${FILESDIR}/${P}-fix-pointer-conversion-warning.diff"
"${FILESDIR}/${P}-gcc6.patch"
"${FILESDIR}/${P}-pointer-int-comparison-fix.patch"
)

View File

@ -1,11 +0,0 @@
--- a/src/path.h 2015-02-14 16:05:26.000000000 +0100
+++ b/src/path.h 2016-07-11 12:09:59.591987169 +0200
@@ -375,7 +375,7 @@
else if (strchr(strftimeArgs, *p))
{
char tmp[MAX_PATH];
- char format[] = { '%', *p, NULL };
+ char format[] = { '%', *p, '\0' };
strftime(tmp, MAX_PATH, format, time_struct);
file.append(tmp);
}

View File

@ -1,47 +0,0 @@
--- a/src/wifi.cpp
+++ b/src/wifi.cpp
@@ -314,9 +314,9 @@
#if (WIFI_LOGGING_LEVEL >= 1)
#if WIFI_LOG_USE_LOGC
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
#else
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
#endif
#else
#define WIFI_LOG(level, ...) {}
--- a/src/MMU_timing.h
+++ b/src/MMU_timing.h
@@ -155,8 +155,8 @@
enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
- enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
enum { WORDSIZE = sizeof(u32) };
enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
--- a/src/ctrlssdl.cpp
+++ b/src/ctrlssdl.cpp
@@ -200,7 +200,7 @@
break;
case SDL_JOYAXISMOTION:
/* Dead zone of 50% */
- if( (abs(event.jaxis.value) >> 14) != 0 )
+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
{
key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
if (event.jaxis.value > 0) {
@@ -370,7 +370,7 @@
Note: button constants have a 1bit offset. */
case SDL_JOYAXISMOTION:
key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
- if( (abs(event->jaxis.value) >> 14) != 0 )
+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
{
if (event->jaxis.value > 0)
key_code |= 1;

View File

@ -1,12 +0,0 @@
diff -Naur a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
--- a/src/utils/libfat/directory.cpp 2015-02-14 10:05:26.000000000 -0500
+++ b/src/utils/libfat/directory.cpp 2018-03-02 13:15:20.349936425 -0500
@@ -139,7 +139,7 @@
int bytes;
size_t count = 0;
- while (count < len-1 && src != '\0') {
+ while (count < len-1 && src) {
bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
if (bytes > 0) {
*dst = (ucs2_t)tempChar;

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>hanno@gentoo.org</email>
</maintainer>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">desmume</remote-id>
</upstream>
</pkgmetadata>

View File

@ -1,5 +0,0 @@
AUX higan-104-QA.patch 2537 SHA256 2530058253ab7f01ed97fe61bec1d02ae8f4dc64bd1ad05944271740ac1786fe SHA512 5c9304191a745cf7a541df3ffd221573aa03e1ff03d457eed9f76b464360bcee0dac767e79ca2e355020f68cae7a7ad42e22f12814623c110311e0392e6b714c WHIRLPOOL b59173f34d4b1571494c4a3b5e2ff761d26df11478d9676f74e3f3b9f13d076a8d8edb5da39fcc6e72cb144a2c69f7e70d8d58db20fc2dee4e3e4b48954f185d
AUX higan-wrapper 124 SHA256 a2640df99434ad820ead4015e071681b05ddd10a44eaed9571d7a28bba4b8def SHA512 af3163d06f3bc14b14ec38cf84d11cc706eb6359727743eea35670b4f1ac120af40102ee5409695eba00ead70fcf964073c24d2f47d6824776391927ebbf3f45 WHIRLPOOL 74e4a9232668dc61c300a49fbe05d654313a5867946497e1e95c46d9d4140634d0eb74eef8969fad5ab38b0d635069698a7e635058809ed2bf8792e89401c81d
DIST higan_v104-source.7z 922223 SHA256 342400ba494b37a95210f11e6d941566e50a772095586406c14d75293f525544 SHA512 acb53f53ab79558d65eaba2aacbf42eaeae7fd4d831a8ef7c96c8b77c1bd67571ea480764f9cb8b376d5c02f380d4a835b44decbd4cece420329c14ef86909f8 WHIRLPOOL 9c6ae66a739f6a5e1f31786efd54fc445cfc78aa92556a99007cc503fda160ec778d26a8b881494f0fe263d05d8555774ca72a83799f2f12438fea6c163e0529
EBUILD higan-104.ebuild 3273 SHA256 041c9c6d66d457d205030e1a4cd06b3ed51597a4e5fbf8a21cca4801c7e303db SHA512 dcdafc60eda2e8e360d94e48f306abcaf4b9cf19fccd5016f9a3cb7343edda97e55124c8c022d15f7c86c21f78c7cdda4a6a3672bfc8f8a24385e46996c4b827 WHIRLPOOL fc2e39264f15918ac3e42e43daa9969e458539d6c66dd114fcaac4be99be1306748eb9884de157ad53b17e08186f56f0c65d1cac8ec8e88959f2026a6e91da72
MISC metadata.xml 636 SHA256 c566d8169f12d492471e65ca8a9bdd7a255b71d27cbafbd883f97eef53d998dd SHA512 a835b9cb4fa482754349eaddee279a6bca17cbc070806c0a59c923502159375bbfb481964faae23bbee8379fdbe7e9f0e070cbc783e3c2e62ddd2d88f511170b WHIRLPOOL 667f7810cd3fb187c024604c697338c3524bc170673120a28a6fce7eb74c1d156bf86bd237c618e90d3b8582a9d17ef20749bd89433965ad76c7cb6a3b37201f

View File

@ -1,70 +0,0 @@
diff -Naur a/higan/GNUmakefile b/higan/GNUmakefile
--- a/higan/GNUmakefile 2017-08-11 06:03:07.000000000 -0400
+++ b/higan/GNUmakefile 2017-09-21 15:45:07.561964734 -0400
@@ -19,7 +19,7 @@
else ifeq ($(platform),macosx)
flags += -march=native
else ifneq ($(filter $(platform),linux bsd),)
- flags += -march=native -fopenmp
+ flags += -fopenmp
link += -fopenmp
link += -Wl,-export-dynamic
link += -lX11 -lXext
@@ -30,9 +30,9 @@
compile = \
$(strip \
$(if $(filter %.c,$<), \
- $(compiler) $(cflags) $(flags) $1 -c $< -o $@, \
+ $(compiler) $(cflags) $(flags) $(CFLAGS) $1 -c $< -o $@, \
$(if $(filter %.cpp,$<), \
- $(compiler) $(cppflags) $(flags) $1 -c $< -o $@ \
+ $(compiler) $(cppflags) $(flags) $(CXXFLAGS) $1 -c $< -o $@ \
) \
) \
)
diff -Naur a/higan/target-tomoko/GNUmakefile b/higan/target-tomoko/GNUmakefile
--- a/higan/target-tomoko/GNUmakefile 2017-07-28 03:41:22.000000000 -0400
+++ b/higan/target-tomoko/GNUmakefile 2017-09-21 15:46:18.861960790 -0400
@@ -48,10 +48,10 @@
objects := $(patsubst %,obj/%.o,$(objects))
obj/ruby.o: ../ruby/ruby.cpp $(call rwildcard,../ruby/)
- $(compiler) $(rubyflags) -c $< -o $@
+ $(compiler) $(rubyflags) $(CXXFLAGS) -c $< -o $@
obj/hiro.o: ../hiro/hiro.cpp $(call rwildcard,../hiro/)
- $(compiler) $(hiroflags) -c $< -o $@
+ $(compiler) $(hiroflags) $(CXXFLAGS) -c $< -o $@
obj/ui-tomoko.o: $(ui)/tomoko.cpp $(call rwildcard,$(ui)/)
obj/ui-program.o: $(ui)/program/program.cpp $(call rwildcard,$(ui)/)
@@ -67,7 +67,7 @@
# targets
build: $(objects)
- $(strip $(compiler) -o out/$(name) $(objects) $(link))
+ $(strip $(CXX) $(CXXFLAGS) -o out/$(name) $(objects) $(link))
ifeq ($(platform),macosx)
@if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
mkdir -p out/$(name).app/Contents/MacOS/
diff -Naur a/icarus/GNUmakefile b/icarus/GNUmakefile
--- a/icarus/GNUmakefile 2017-07-30 03:32:34.000000000 -0400
+++ b/icarus/GNUmakefile 2017-09-21 15:48:41.750952887 -0400
@@ -3,7 +3,7 @@
include ../hiro/GNUmakefile
name := icarus
-flags += -I..
+flags += -I.. $(CXXFLAGS)
link +=
ifeq ($(platform),windows)
@@ -15,7 +15,7 @@
objects += $(if $(call streq,$(platform),windows),obj/resource.o)
all: $(objects)
- $(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink))
+ $(strip $(compiler) -o out/$(name) $(objects) $(link) $(hirolink) $(LDFLAGS))
ifeq ($(platform),macosx)
@if [ -d out/$(name).app ]; then rm -r out/$(name).app; fi
mkdir -p out/$(name).app/Contents/MacOS/

View File

@ -1,7 +0,0 @@
#!/bin/sh
[ -e $HOME/.config/ ] || mkdir $HOME/.config/
cp -ru "%GAMES_DATADIR%/higan" $HOME/.config/
exec ${0}.bin "$@"

View File

@ -1,148 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils gnome2-utils toolchain-funcs qmake-utils games
MY_P=${PN}_v${PV}-source
DESCRIPTION="A Nintendo multi-system emulator formerly known as bsnes"
HOMEPAGE="http://byuu.org/higan/ https://code.google.com/p/higan/"
SRC_URI="http://download.byuu.org/${MY_P}.7z"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ao +alsa +icarus openal opengl oss pulseaudio qt4 +sdl udev xv"
REQUIRED_USE="|| ( ao openal alsa pulseaudio oss )
|| ( xv opengl sdl )"
RDEPEND="
x11-libs/libX11
x11-libs/libXext
icarus? ( x11-libs/gtksourceview:2.0
x11-libs/gtk+:2
x11-libs/pango
dev-libs/atk
x11-libs/cairo
x11-libs/gdk-pixbuf
dev-libs/glib:2
media-libs/fontconfig
media-libs/freetype
)
ao? ( media-libs/libao )
openal? ( media-libs/openal )
alsa? ( media-libs/alsa-lib )
pulseaudio? ( media-sound/pulseaudio )
xv? ( x11-libs/libXv )
opengl? ( virtual/opengl )
sdl? ( media-libs/libsdl[X,joystick,video] )
udev? ( virtual/udev )
!qt4? ( x11-libs/gtk+:2 )
qt4? ( dev-qt/qtcore:4
>=dev-qt/qtgui-4.5:4 )"
DEPEND="${RDEPEND}
app-arch/p7zip
virtual/pkgconfig"
S=${WORKDIR}/${MY_P}
disable_module() {
sed -i \
-e "s|$1\b||" \
"${S}"/higan/target-tomoko/GNUmakefile || die
}
src_prepare() {
epatch "${FILESDIR}"/${P}-QA.patch
sed -i \
-e "/handle/s#/usr/local/lib#/usr/$(get_libdir)#" \
nall/dl.hpp || die "fixing libdir failed!"
# audio modules
use ao || disable_module audio.ao
use openal || disable_module audio.openal
use pulseaudio || { disable_module audio.pulseaudio
disable_module audio.pulseaudiosimple ;}
use oss || disable_module audio.oss
use alsa || disable_module audio.alsa
# video modules
use opengl || disable_module video.glx
use xv || disable_module video.xv
use sdl || disable_module video.sdl
# input modules
use sdl || disable_module input.sdl
use udev || disable_module input.udev
# regenerate .moc if needed
if use qt4; then
cd hiro/qt || die
"$(qt4_get_bindir)"/moc -i -I. -o qt.moc qt.hpp || die
fi
}
src_compile() {
local mytoolkit
if use qt4; then
mytoolkit="qt"
else
mytoolkit="gtk"
fi
if use icarus; then
cd "${S}/icarus" || die
emake \
platform="linux" \
compiler="$(tc-getCXX)"
fi
cd "${S}/higan" || die
emake \
platform="linux" \
compiler="$(tc-getCXX)" \
hiro="${mytoolkit}"
sed \
-e "s:%GAMES_DATADIR%:${GAMES_DATADIR}:" \
< "${FILESDIR}"/${PN}-wrapper \
> out/${PN}-wrapper || die "generating wrapper failed!"
}
src_install() {
if use icarus; then
newgamesbin "${S}"/icarus/out/icarus icarus
fi
newgamesbin "${S}"/higan/out/${PN} ${PN}.bin
newgamesbin "${S}"/higan/out/${PN}-wrapper ${PN}
make_desktop_entry "${PN}" "${PN}"
# copy home directory stuff to a global location
insinto "${GAMES_DATADIR}"/${PN}
doicon -s 512 higan/data/${PN}.png
prepgamesdirs
}
pkg_preinst() {
games_pkg_preinst
gnome2_icon_savelist
}
pkg_postinst() {
#elog "optional dependencies:"
#elog " dev-games/higan-ananke (extra rom load options)"
#elog " games-util/higan-purify (Rom purifier)"
games_pkg_postinst
gnome2_icon_cache_update
}
pkg_postrm() {
gnome2_icon_cache_update
}

View File

@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>games@gentoo.org</email>
<name>Gentoo Games Project</name>
</maintainer>
<use>
<flag name="icarus">Build icarus library manager</flag>
<flag name="profile_accuracy">
Compile a binary optimized for accuracy</flag>
<flag name="profile_balanced">
Compile a binary with balanced optimization</flag>
<flag name="profile_performance">
Compile a binary optimized for performance</flag>
<flag name="udev">Enable udev based input</flag>
</use>
</pkgmetadata>

View File

@ -1,4 +0,0 @@
DIST obs-studio-0.13.4.tar.gz 3252774 SHA256 5a6a1188ef2899ef5c71aadeb2ce7e2a17a63dfa6351b4d1295e4f4b61e7ef9c SHA512 71e3b2b82a60c84907130e0ca41f50f4fa28b0fb9fcede18b2afd476cc15e410b5ef745239a39148b5d66b452da39176deadc9c225f1a9f190bd01cdd861ea87 WHIRLPOOL 05f0e0b511c8284dc4f9c170ebe89101f71b1814ca4a46e8d785990787a08f4279ad4994ec3a27f0880ec8c80a63168aef95ff8b55356ee41f6f4030b8ac1f9a
EBUILD obs-studio-0.13.4.ebuild 2003 SHA256 670c9d59952893471163e1a218ae63a25e12d32db5e8baa4d1f01ac3940462a5 SHA512 4236321567cf58817392145db5c0824deafa26814ac4379b55de9182d4ee185a44433ebe039625b0b0a41878318656841e75a65555d0556be2cbfd9375f93a3b WHIRLPOOL b3746ae7cc403c7b056c58e62d72b4053279f309f7f5d213fdc10601b22dbb9dcfe21d6d85f6797fe7eaef5396b7a360050a187a1a858088f76c13f82010403a
EBUILD obs-studio-9999.ebuild 2003 SHA256 670c9d59952893471163e1a218ae63a25e12d32db5e8baa4d1f01ac3940462a5 SHA512 4236321567cf58817392145db5c0824deafa26814ac4379b55de9182d4ee185a44433ebe039625b0b0a41878318656841e75a65555d0556be2cbfd9375f93a3b WHIRLPOOL b3746ae7cc403c7b056c58e62d72b4053279f309f7f5d213fdc10601b22dbb9dcfe21d6d85f6797fe7eaef5396b7a360050a187a1a858088f76c13f82010403a
MISC metadata.xml 719 SHA256 1bf6ba991590655e783e9f8affd4df9637b4a40557bcaa06db92b896e1399bd4 SHA512 0f97af62c49dbddff3443138335d345603c7ff6a5f5781b995c5143a69276ffa3aa4417ccc1a5308d9989424315b141f20d0d2acea8a5cec2c5d4658e526ca05 WHIRLPOOL 1d4e9a302d7497d734fd993c52679e631f7ab0566905b685e67b7616105980fe06c780dcdedd5dbf92b86a422939e31663fcc0e95ae1e7062d1ecc58df29946d

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>saintdev@gmail.com</email>
</maintainer>
<longdescription>A rewrite of what was formerly known as "Open Broadcaster
Software", software originally designed for recording and streaming live
video content, efficiently.</longdescription>
<use>
<flag name="fdk">Use the <pkg>media-sound/fdk-aac</pkg>library for AAC encoding.</flag>
<flag name="imagemagick">Use ImageMagick in place of ffmpeg for loading images.</flag>
<flag name="pulseaudio">Enable audio capture from the PulseAudio sound server.</flag>
<flag name="qt5">Enable the QT 5 GUI</flag>
</use>
</pkgmetadata>

View File

@ -1 +0,0 @@
obs-studio-9999.ebuild

View File

@ -1,85 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=6
inherit eutils cmake-utils
if [[ ${PV} == 9999 ]]; then
inherit git-r3
KEYWORDS=""
EGIT_REPO_URI="https://github.com/jp9000/obs-studio.git
git://github.com/jp9000/obs-studio.git"
else
KEYWORDS="~x86 ~amd64"
SRC_URI="https://github.com/jp9000/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
RESTRICT="primaryuri"
fi
DESCRIPTION="Software for recording and streaming live video content"
HOMEPAGE="https://obsproject.com"
LICENSE="GPL-2"
SLOT="0"
IUSE="fdk imagemagick jack +pulseaudio +qt5 truetype v4l"
DEPEND=">=dev-libs/jansson-2.5
media-libs/x264
media-video/ffmpeg
x11-libs/libXinerama
x11-libs/libXcomposite
x11-libs/libXrandr
fdk? ( media-libs/fdk-aac )
imagemagick? ( media-gfx/imagemagick )
jack? ( virtual/jack )
pulseaudio? ( media-sound/pulseaudio )
qt5? (
dev-qt/qtcore:5
dev-qt/qtdeclarative:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtnetwork:5
dev-qt/qtquickcontrols:5
dev-qt/qtsql:5
dev-qt/qttest:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
)
truetype? (
media-libs/fontconfig
media-libs/freetype
)
v4l? ( media-libs/libv4l )"
RDEPEND="${DEPEND}"
src_prepare() {
CMAKE_REMOVE_MODULES_LIST=(FindFreetype)
cmake-utils_src_prepare
}
src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
-DDISABLE_LIBFDK="$(usex fdk no yes)"
-DLIBOBS_PREFER_IMAGEMAGICK="$(usex imagemagick)"
-DDISABLE_JACK="$(usex jack no yes)"
-DDISABLE_PULSEAUDIO="$(usex pulseaudio no yes)"
-DENABLE_UI="$(usex qt5)"
-DDISABLE_UI="$(usex qt5 no yes)"
-DDISABLE_FREETYPE="$(usex truetype no yes)"
-DDISABLE_V4L2="$(usex v4l no yes)"
-DUNIX_STRUCTURE=1
-DOBS_MULTIARCH_SUFFIX=${libdir#lib}
)
cmake-utils_src_configure
}
pkg_postinst() {
if ! use pulseaudio && ! use jack; then
ewarn "It is suggested you enable either JACK or PulseAudio,"
ewarn "or you will not have audio capture capability."
fi
}

View File

@ -1,2 +0,0 @@
DIST 0.3.6.tar.gz 1640585 SHA256 146f5bf26bd56d68ff4506c9756526fbf60c8737cb023759250c357935b309b5 SHA512 54e07050ae58c2d59327b13be6613754ada26891c157c6e9d121db2658508245c8f9a6c92921fdc125cdf82611099abf9c89d64ee093a6592fc81fb9c96cb09d WHIRLPOOL 715be064a3e8fd86d299a22d92f812f45fa522652bb5ab21c1492a05dd384b2cc385ce62ab9cb74fe8e9ee7168c29ccc3ef5eae3d2412189ed2c8e1c891bd998
EBUILD simplescreenrecorder-0.3.6.ebuild 3025 SHA256 705dce7fd5b9c2a488f8adb220d1bfe2b7050ff5f4628635a81ba14edc2555d6 SHA512 69d022d9f8963c000bfb279f601213a369a2da8654a710f92ed9ff9a1e06a21e168b5b079c6e4ee9e7129ab72f809d764e4d763b8ebaed8e77c9ddd8a0fc85ec WHIRLPOOL 25047ab1a51505ee81de02b5e1866cf326da1d87d188f6e6b5be31b46050b6bf50225d52f68971bd42cf3c7cab0934fd7590764a54124e2d8b14d47f4e6c3dd2

View File

@ -1,112 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
inherit flag-o-matic multilib-minimal
if [[ ${PV} = 9999 ]]; then
inherit git-2
fi
DESCRIPTION="A Simple Screen Recorder"
HOMEPAGE="http://www.maartenbaert.be/simplescreenrecorder"
LICENSE="GPL-3"
PKGNAME="ssr"
S=${WORKDIR}/${PKGNAME}-${PV}
if [[ ${PV} = 9999 ]]; then
EGIT_REPO_URI="git://github.com/MaartenBaert/${PKGNAME}.git
https://github.com/MaartenBaert/${PKGNAME}.git"
EGIT_BOOTSTRAP=""
KEYWORDS=""
else
SRC_URI="https://github.com/MaartenBaert/${PKGNAME}/archive/${PV}.tar.gz"
KEYWORDS="~amd64 ~x86"
fi
SLOT="0"
IUSE="+asm debug jack mp3 pulseaudio theora vorbis vpx x264 +qt4 qt5"
REQUIRED_USE="^^ ( qt4 qt5 )"
RDEPEND="
qt4? (
dev-qt/qtcore:4
dev-qt/qtgui:4
)
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
)
virtual/glu[${MULTILIB_USEDEP}]
media-libs/alsa-lib:*
media-libs/mesa[${MULTILIB_USEDEP}]
x11-libs/libX11[${MULTILIB_USEDEP}]
x11-libs/libXext
x11-libs/libXfixes[${MULTILIB_USEDEP}]
jack? ( media-sound/jack-audio-connection-kit )
pulseaudio? ( media-sound/pulseaudio )
|| (
media-video/ffmpeg:0[vorbis?,vpx?,x264?,mp3?,theora?]
media-video/libav[vorbis?,vpx?,x264?,mp3?,theora?]
)
"
DEPEND="${RDEPEND}"
pkg_setup() {
if [[ ${PV} == "9999" ]]; then
elog
elog "This ebuild merges the latest revision available from upstream's"
elog "git repository, and might fail to compile or work properly once"
elog "merged."
elog
fi
if [[ ${ABI} == amd64 ]]; then
elog "You may want to add USE flag 'abi_x86_32' when running a 64bit system"
elog "When added 32bit GLInject libraries are also included. This is"
elog "required if you want to use OpenGL recording on 32bit applications."
elog
fi
if ( has_version media-video/ffmpeg[x264] || has_version media-video/libav[x264] ) && has_version media-libs/x264[10bit]; then
ewarn
ewarn "media-libs/x264 is currently built with 10bit useflag."
ewarn "This is known to prevent simplescreenrecorder from recording x264 videos"
ewarn "correctly. Please build media-libs/x264 without 10bit if you want to "
ewarn "record videos with x264."
ewarn
fi
# QT requires -fPIC. Compile fails otherwise.
# Recently removed from the default compile options upstream
# https://github.com/MaartenBaert/ssr/commit/25fe1743058f0d1f95f6fbb39014b6ac146b5180
append-flags -fPIC
}
multilib_src_configure() {
local myconf=(
--enable-dependency-tracking
$(multilib_native_use_enable debug assert)
$(multilib_native_use_with pulseaudio)
$(multilib_native_use_with jack)
$(multilib_native_use_with qt5)
$(use_enable asm x86-asm)
)
# libav doesn't have AVFrame::channels
# https://github.com/MaartenBaert/ssr/issues/195#issuecomment-45646159
if has_version media-video/libav; then
myconf+=( --disable-ffmpeg-versions )
fi
multilib_is_native_abi || myconf+=( --disable-ssrprogram )
ECONF_SOURCE="${S}" \
econf \
${myconf[@]}
}

View File

@ -1,2 +1 @@
AUX tg-no-channel-beep.patch 468 BLAKE2B bfa5aaa9c2ff24647c251bbf48abb5bb6b302ab84790fab6b2062abbff07984e832a11ddaa67c24c6f5a61e8a7f5f873fd97e79b3a2f91ba994b45fae97d8218 SHA512 4f982fa3900529d42e7d05c4b7b653e9ba8881dcaaeb087aa0a90607bff8691abfaedae6fd020e05549f1b619fa9ffa78b61ec910542e2a8e51c889a8242532f EBUILD telegram-cli-9999.ebuild 926 SHA256 d9c959af30c77afe8e6b1cee162e5362edfb9da6980b53ef71c3cae5f621bf05 SHA512 eeef9e1d2d7cd0b600be0d44de39e9c38207d5fb8f675e7ba239c1e907ab5df6e198a5810e6bb08445c7c2a98cc50bf78554f52b4c7c0534f111bfa3256b8186 WHIRLPOOL 700a6fd9930074ec36dfb3f4b248a43e6d7c0ab0f97ed6b56343e79fb15a087d99eb52ad67a818e67cbb1a848d65cc395f60b319f3fda60c87c10e9f4e132838
EBUILD telegram-cli-9999.ebuild 1081 BLAKE2B 6b1a0e997b9e1b6d3ac8e1aebfc8e18ec9ae0394ed51639a2bab74b0604eaab61f10aab2aab04c1643edd7d7106fb71f8453ef72d66b7c2d4931ee95197a9e41 SHA512 e1be9b5934b3a5eb65f49185ac3cac76111a9f1cdb651eb7efcf2987b758f0e5ec2f5e49112f402830d80669d78a6ea2a3565ebc70fa9b7d2318841dca5ebf71

View File

@ -1,13 +0,0 @@
diff --git a/interface.c b/interface.c
index f78619a..bea40de 100644
--- a/interface.c
+++ b/interface.c
@@ -3061,7 +3061,7 @@ void print_message_gw (struct tgl_state *TLSR, struct tgl_message *M) {
if (tgl_get_peer_type (M->to_id) == TGL_PEER_ENCR_CHAT) {
write_secret_chat_file ();
}
- if (alert_sound) {
+ if (alert_sound && tgl_get_peer_type (M->to_id) != TGL_PEER_CHANNEL) {
play_sound ();
}
if (disable_output && !notify_ev) { return; }

View File

@ -4,13 +4,13 @@
EAPI=5 EAPI=5
EGIT_REPO_URI="https://gitea.austenwares.com/applications/tg" EGIT_REPO_URI="https://github.com/vysheng/tg.git"
EGIT_BRANCH="master" EGIT_BRANCH="master"
EGIT_HAS_SUBMODULES=1 EGIT_HAS_SUBMODULES=1
inherit eutils git-2 inherit git-2
IUSE="+lua +json +python" IUSE="+lua +json +python"
DESCRIPTION="Command line interface client for Telegram" DESCRIPTION="Command line interface client for Telegram"
HOMEPAGE="https://gitea.austenwares.com/applications/tg" HOMEPAGE="https://github.com/vysheng/tg"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="~amd64 ~x86" KEYWORDS="~amd64 ~x86"
@ -24,12 +24,6 @@ DEPEND="sys-libs/zlib
json? ( dev-libs/jansson ) json? ( dev-libs/jansson )
python? ( dev-lang/python )" python? ( dev-lang/python )"
src_prepare() {
einfo "Patching so channels don't beep"
epatch "${FILESDIR}/tg-no-channel-beep.patch"
epatch_user
}
src_unpack() { src_unpack() {
git-2_src_unpack git-2_src_unpack
cd $EGIT_SOURCEDIR cd $EGIT_SOURCEDIR

View File

@ -1,2 +0,0 @@
DIST nitroshare-0.3.3.tar.gz 152496 SHA256 fa9385f9fd829bd4f91f2b3507676a94ec7bf107cfd085985ecee33fb6c88d4f SHA512 edcdd2e6fa7addf38057d291d3683515bf61261bd71b4283c9f518f1c46a392a410c60fce897c703d69a453fd7713c8a7e71b68a48225b79aaf283124d53b18e WHIRLPOOL 6ec1ce09f693a7a118d8c96afe5361b65ebbc776d19ed7da2ec0df3b46be2eccd9e8751f4cfbb183c247943b358ae7f8e36669b7230c497ed1433e531c7b5e49
EBUILD nitroshare-0.3.3.ebuild 807 SHA256 5d24f4d14dae143ae49d9b046365c600df0875cef8219e57618daf3725eadea1 SHA512 c9c5982410655c5b141a5a662f8c94c1971e124fb3d5ce75638eb86e33c43e4e5c1d5266685e27a11c8b949b19b5ee337ed5b77dc8afc955fbb88040c9a7be22 WHIRLPOOL 4ab3fd4c64e6794c26d59d3a1539552669e7f7229fbebd3e87dd6025c2b364c1541af35a2e60d165266f41a7ad7e8b15a405746e0b2563fe04fcd6be11459af3

View File

@ -1,39 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=6
CMAKE_MIN_VERSION="3.2.0"
inherit cmake-utils eutils
DESCRIPTION="Network File Transfer Application"
HOMEPAGE="http://nitroshare.net"
if [[ ${PV} == *9999* ]];then
inherit git-r3
EGIT_REPO_URI="https://github.com/${PN}/${PN}-desktop"
KEYWORDS=""
else
inherit versionator
MY_BR=$(get_version_component_range 1-2)
SRC_URI="https://launchpad.net/nitroshare/${MY_BR}/${PV}/+download/${P}.tar.gz"
KEYWORDS="x86 amd64"
RESTRICT="mirror"
fi
LICENSE="MIT"
SLOT="0"
IUSE="appindicator"
DEPEND="
>=dev-qt/qtcore-5.1:5
>=dev-qt/qtsvg-5.1:5
>=dev-qt/qtnetwork-5.1:5
x11-libs/libnotify"
RDEPEND="${DEPEND}
appindicator? (
x11-libs/gtk+:2
dev-libs/libappindicator:2
)"

View File

@ -7,6 +7,6 @@
<email>stonewareslord@gmail.com</email> <email>stonewareslord@gmail.com</email>
<name>stonewareslord</name> <name>stonewareslord</name>
</owner> </owner>
<source branch="master" type="git">https://gitea.austenwares.com/stonewareslord/aw-overlay</source> <source branch="master" type="git">https://austenwares.com/gogs/stonewareslord/aw-overlay</source>
</repo> </repo>
</repositories> </repositories>

View File

@ -1,11 +0,0 @@
AUX orpie-1.5.1-nogsl.patch 1463 SHA256 ffb6c542dfc9cb8adfdd6a5a3a8b689cab5d510f780d8d799aa3f9dc289ca7ba SHA512 b3c3a5bf0d0e8f03ed6912d020a9f84dc1436a7048a7228895f88e169454535b18db299ae3ce224bdfb08f18c8fa9847aa52b4347e50eed53fe697c0b37dc460 WHIRLPOOL ac9ee7fe96a94659a6788f5071bc651ede58e2efd4869a271dd1a7975fe3b1a46d34eb909d06192ec3390af39bcef23c1cda087780f2124eecc517bbea84f118
AUX orpie-1.5.1-ocaml311.patch 5460 SHA256 d01d72de12c65cbabfacb4e9cf296d91d9382072b0334e250b0b67f2ae117f78 SHA512 220b8585953328681c7299d140d5aefb54576a82c7897e900ffd493ec0949dd5bf0f02515305e6ae25f76a8ad7f7d8e3d7ce7d231eee05efe3987638650024a2 WHIRLPOOL 3849bc3b4276479a4ae8c16f7b87cc53969ed97de447042662eb57cc1dec1e935b23e1f099ccb15a95dd975f2be5c9f0f499473737748e655577b04aa0c9f992
AUX orpie-1.5.1-orpierc.patch 357 SHA256 755643f6564f97742b9024985a1ad03b286b01350c0e0b3037c1ed9b57dec0ed SHA512 8579f8af07fbc43594eb9e7f0b22e9053fbb0d6f30bb0d849592f29edb4df7fae2535b163d7259eef1e6f99cbdfb5fcdbf715c59e24fbc7b7a7250e798e35485 WHIRLPOOL e477c76280172fd808e09180c2ea9d974c6cdb086c965d1d000136a33e6e8ad57a6efac3c90d11baf60f4a3cc9f8cbe5b37eb905b0b2a5c5dc6de55d6f2e17fb
AUX orpie-1.5.1-tinfo.patch 186 SHA256 53551ae51ac16d77c297f8b9f84f2ade39e2a19cda81b5910d16839f921d1d2e SHA512 efbab46a367dc10e58b2e635d3bce49b9743766c489c2fba20cfc783fd92256c8afc8502c6d1650466400fb32bbca791f1677745b5610a405d369fb7432d7937 WHIRLPOOL 732411d0cf4280df866d1a2e267fb86963791d69c6576323fa82ced7a3ef8498180a2314a030432aa77c972f069c8078a0a8b5d84d181b97d0e4c2f2506aab7b
DIST orpie-1.5.1.tar.gz 370851 SHA256 f68ee37a5351c1dd32a68edae253a22a913fc2124bace1f6cf19cc2d422100cd SHA512 026afcaf37016f07397ba19629a92c5bdffbbec6d25b5f96e9367274afbf7468a7d6626b4ae81d1c9b426dde3a2c66a97e9b48c54dfb3a8079f0d59906f0efb7 WHIRLPOOL 30ba5f026ffc1f704a08d6090eabe6d47f8dfe96ec49ba6a6a772dd85337a54fe7de2b382015e832fc0058e7449a1829fedc6fc87683a074d0cac82dad48150e
DIST orpie-1.5.2.tar.gz 379583 SHA256 de557fc7f608c6cb1f44a965d3ae07fc6baf2b02a0d7994b89d6a0e0d87d3d6d SHA512 5deed6d8e8e68ce5286f4d5183315b585adef38f205805ff6ccbbbf3983c97a468e370d0d44ebe2dff596de0ad9dba20401dbc0e4e9bc176bc93b118fd1cc11a WHIRLPOOL 390c681dbc72d9730cbf22551ffa951f77e7a3589bf10c244fd1c0a3bc2ad81107ff8f5ede196b6486f50ed8f106554a8db03b04979cd5a88da31de4c1aeb836
EBUILD orpie-1.5.1-r1.ebuild 807 SHA256 55214f58c0dcdd033a0b8debd21ba47eac951386f440591d6ea179788488a6f4 SHA512 cbd7f3c5da5d35430e0cf0c6d0a83c9bd9e6c5786c6d817ab85095348478a221e804f4253f87d2d85e356ade96ef6999913fda498682f510263fbe4dfe003cc1 WHIRLPOOL de43e7da943b5837f83465782d1ca2fe3978281dab17e409cf586832693987116479218c027e0a927a948b27a8b2b341de9b8c53d490c684ee830fb8b3e45e50
EBUILD orpie-1.5.1-r2.ebuild 822 SHA256 5fc76b8904429cb33ce6be6bdbae5347477832e2aa123bfe0496b00372417744 SHA512 f3eb6641a55718cfd8000f88c2d289bc9730b97e0208a37201d8fce3fe18b188c1047c55c5f164a1fe85100b5af0d89a5cf353cf1f8102e5025b59e06ece0dce WHIRLPOOL a8238ddf9c1730dbb6394931378bdcc656cffc0e3a11d6a32a9715e5cfe9a03709264dbc472993a6493af28b16b963480ae193927f6469ae3a512ca7a2406862
EBUILD orpie-1.5.1.ebuild 626 SHA256 6248f2ca4d86eb9aca30bd9d8cdc02482b7d3e94d74b40ad379bbc30b4ad0cdc SHA512 b1b26eb5cc9eef424bad97a1bac1f258f360357b43448caccfa7ae3f3c07be5943e7b662cf66bcdba9f4215054e18870e5d016fe8d43a29672d2e2ad94a6143f WHIRLPOOL 35dee92a5288cd2259dd41e68bf66f899a684570d1a680f5473c71bab75065970cfad1b3c9ac38d92ca79b8090c82a485b7b366b3fab68a46b15f0aeab052422
EBUILD orpie-1.5.2-r2.ebuild 962 SHA256 eed6898f516994c1b838202823a8a07e3ea02637b7eeb7e24707bf89985e10c1 SHA512 9f89530ad99858819d4b35a3c3c3be5fdc877c3a7f112996ae6d29a979cd704fc016e699f97adc2f3ef90a1e7e872e6ddce22006824ce0c25b09d9d8195b5ee3 WHIRLPOOL a64166b38ead51b1510340633653302a11d72647e7310f9656221cf8021d406404201c4d010cb0a906e63e52a19959d7c72be1a62ddb97f4160f74825e67c142
MISC metadata.xml 482 SHA256 1694b89d7cf6205c011f2e794a81c25ea347899e8c1001f83efde52a9f41680b SHA512 050fe93b668614c50b20ed1355b6c62f2ef2d263863c358f0c4ca303d35fccdc0d9c1879cde065355a097e9898cbdc540dd58544ae5c2a68fa08bf8ea082dd87 WHIRLPOOL b627095cd8db858c873c2d3281626d9f546906277271eb70e60898bb39643e4fd024a14efd7fc92067f5589ea76b0bd20ac4f9193640f683b5b2e4e47a8183f4

View File

@ -1,30 +0,0 @@
--- Makefile.in.orig 2010-06-03 21:02:14.000000000 +0100
+++ Makefile.in 2010-06-03 21:02:49.000000000 +0100
@@ -38,7 +38,7 @@
CURSES_LIB = @CURSES_LIB@
GSL_LIB = @GSL_LIB@
-INCLUDES = -I ./curses -I ./gsl -I ./units
+INCLUDES = -I ./curses -I /usr/lib/ocaml/gsl -I ./units
BFLAGS = -pp camlp4o -g $(INCLUDES) -thread
OFLAGS = -pp camlp4o $(INCLUDES) -thread
BLFLAGS = -custom -cclib '@LDFLAGS@ $(CURSES_LIB) $(GSL_LIB) -lm'
@@ -72,16 +72,8 @@
CURSES_BOBJS = $(CURSES_CMO) $(CURSES_COBJS)
CURSES_OOBJS = $(CURSES_CMX) $(CURSES_COBJS)
-GSL_CMO = gsl/gsl_error.cmo gsl/gsl_blas.cmo gsl/gsl_complex.cmo gsl/gsl_matrix.cmo gsl/gsl_matrix_complex.cmo \
- gsl/gsl_vector.cmo gsl/gsl_vector_complex.cmo gsl/gsl_vector_flat.cmo gsl/gsl_matrix_flat.cmo \
- gsl/gsl_vector_complex_flat.cmo gsl/gsl_matrix_complex_flat.cmo gsl/gsl_vectmat.cmo \
- gsl/gsl_permut.cmo gsl/gsl_linalg.cmo gsl/gsl_fun.cmo
-GSL_CMX = $(GSL_CMO:.cmo=.cmx)
-GSL_COBJS = gsl/mlgsl_error.o gsl/mlgsl_blas.o gsl/mlgsl_blas_complex.o gsl/mlgsl_complex.o \
- gsl/mlgsl_matrix_complex.o gsl/mlgsl_matrix_double.o gsl/mlgsl_vector_double.o gsl/mlgsl_permut.o \
- gsl/mlgsl_linalg.o gsl/mlgsl_linalg_complex.o gsl/mlgsl_fun.o gsl/mlgsl_math.o gsl/mlgsl_sf.o
-GSL_BOBJS = $(GSL_COBJS) $(GSL_CMO)
-GSL_OOBJS = $(GSL_COBJS) $(GSL_CMX)
+GSL_BOBJS = /usr/lib/ocaml/gsl/gsl.cma
+GSL_OOBJS = /usr/lib/ocaml/gsl/gsl.cmxa
UNITS_CMO = units/units.cmo
UNITS_CMX = $(UNITS_CMO:.cmo=.cmx)

View File

@ -1,200 +0,0 @@
diff -Naru orpie-1.5.1/Makefile.in orpie-1.5.1_1/Makefile.in
--- orpie-1.5.1/Makefile.in 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/Makefile.in 2010-05-12 11:44:33.000000000 -0400
@@ -257,10 +257,7 @@
units/%.cmo : units/%.ml
$(OCAMLC) -c $(UNITS_BFLAGS) $<
-units/%.o : units/%.ml
- $(OCAMLOPT) -c $(UNITS_OFLAGS) $<
-
-units/%.cmx : units/%.ml
+units/%.o units/%.cmx : units/%.ml
$(OCAMLOPT) -c $(UNITS_OFLAGS) $<
@@ -271,22 +268,15 @@
%.cmo : %.ml
$(OCAMLC) -c $(BFLAGS) $<
-%.o : %.ml
- $(OCAMLOPT) -c $(OFLAGS) $<
-
-%.cmx : %.ml
+%.o %.cmx : %.ml
$(OCAMLOPT) -c $(OFLAGS) $<
%.ml : %.mll
$(OCAMLLEX) $<
-%.ml : %.mly
+%.ml %.mli : %.mly
$(OCAMLYACC) -v $<
-%.mli : %.mly
- $(OCAMLYACC) -v $<
-
-
# Emacs tags
############
diff -Naru orpie-1.5.1/gsl/gsl_blas.ml orpie-1.5.1_1/gsl/gsl_blas.ml
--- orpie-1.5.1/gsl/gsl_blas.ml 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_blas.ml 2010-05-12 11:24:11.000000000 -0400
@@ -118,6 +118,7 @@
(** {3 Single precision} *)
+(*
open Gsl_vector.Single
open Gsl_matrix.Single
@@ -187,6 +188,7 @@
alpha:float -> a:matrix -> b:matrix -> unit
= "ml_gsl_blas_strsm_bc" "ml_gsl_blas_strsm"
end
+*)
(** {3 Complex} *)
@@ -274,6 +276,7 @@
(** {3 Complex single precision} *)
+(*
open Gsl_vector_complex.Single
open Gsl_matrix_complex.Single
open Gsl_complex
@@ -354,3 +357,4 @@
a:matrix -> b:matrix -> beta:float -> c:matrix -> unit
= "ml_gsl_blas_cher2k_bc" "ml_gsl_blas_cher2k"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_blas.mli orpie-1.5.1_1/gsl/gsl_blas.mli
--- orpie-1.5.1/gsl/gsl_blas.mli 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_blas.mli 2010-05-12 11:23:36.000000000 -0400
@@ -118,6 +118,7 @@
(** {3 Single precision} *)
+(*
open Gsl_vector.Single
open Gsl_matrix.Single
@@ -187,6 +188,7 @@
alpha:float -> a:matrix -> b:matrix -> unit
= "ml_gsl_blas_strsm_bc" "ml_gsl_blas_strsm"
end
+*)
(** {3 Complex} *)
@@ -274,6 +276,7 @@
(** {3 Complex single precision} *)
+(*
open Gsl_vector_complex.Single
open Gsl_matrix_complex.Single
open Gsl_complex
@@ -354,3 +357,4 @@
a:matrix -> b:matrix -> beta:float -> c:matrix -> unit
= "ml_gsl_blas_cher2k_bc" "ml_gsl_blas_cher2k"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_matrix.ml orpie-1.5.1_1/gsl/gsl_matrix.ml
--- orpie-1.5.1/gsl/gsl_matrix.ml 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_matrix.ml 2010-05-12 11:22:51.000000000 -0400
@@ -86,6 +86,7 @@
+(*
module Single =
struct
type float_mat_bigarr =
@@ -164,3 +165,4 @@
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_float_transpose_memcpy"
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_float_transpose"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_matrix.mli orpie-1.5.1_1/gsl/gsl_matrix.mli
--- orpie-1.5.1/gsl/gsl_matrix.mli 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_matrix.mli 2010-05-12 11:22:42.000000000 -0400
@@ -45,6 +45,7 @@
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_transpose"
+(*
module Single : sig
type float_mat_bigarr =
@@ -87,3 +88,4 @@
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_float_transpose_memcpy"
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_float_transpose"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_matrix_complex.ml orpie-1.5.1_1/gsl/gsl_matrix_complex.ml
--- orpie-1.5.1/gsl/gsl_matrix_complex.ml 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_matrix_complex.ml 2010-05-12 11:24:59.000000000 -0400
@@ -108,6 +108,7 @@
+(*
module Single =
struct
type complex_float_mat_bigarr =
@@ -208,3 +209,4 @@
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_complex_float_transpose_memcpy"
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_complex_float_transpose"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_matrix_complex.mli orpie-1.5.1_1/gsl/gsl_matrix_complex.mli
--- orpie-1.5.1/gsl/gsl_matrix_complex.mli 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_matrix_complex.mli 2010-05-12 11:25:00.000000000 -0400
@@ -51,6 +51,7 @@
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_complex_transpose"
+(*
module Single : sig
type complex_float_mat_bigarr =
@@ -96,3 +97,4 @@
external transpose : matrix -> matrix -> unit = "ml_gsl_matrix_complex_float_transpose_memcpy"
external transpose_in_place : matrix -> unit = "ml_gsl_matrix_complex_float_transpose"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_vector.ml orpie-1.5.1_1/gsl/gsl_vector.ml
--- orpie-1.5.1/gsl/gsl_vector.ml 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_vector.ml 2010-05-12 11:22:19.000000000 -0400
@@ -95,6 +95,7 @@
+(*
module Single =
struct
type float_vector_bigarr =
@@ -178,3 +179,4 @@
external minmax_index : vector -> int * int
= "ml_gsl_vector_float_minmaxindex"
end
+*)
diff -Naru orpie-1.5.1/gsl/gsl_vector.mli orpie-1.5.1_1/gsl/gsl_vector.mli
--- orpie-1.5.1/gsl/gsl_vector.mli 2007-09-13 23:31:23.000000000 -0400
+++ orpie-1.5.1_1/gsl/gsl_vector.mli 2010-05-12 11:22:19.000000000 -0400
@@ -65,6 +65,7 @@
(** {3 Single precision} *)
+(*
module Single : sig
type float_vector_bigarr =
(float, Bigarray.float32_elt, Bigarray.c_layout) Bigarray.Array1.t
@@ -121,3 +122,4 @@
val subvector : vector -> off:int -> len:int -> vector
end
+*)

View File

@ -1,11 +0,0 @@
--- orpie-1.5.1.orig/orpierc
+++ orpie-1.5.1/orpierc
@@ -4,7 +4,7 @@
# directory for storing Orpie data
set datadir="~/.orpie/"
# editor used for fullscreen viewing of stack elements
-set editor="vi"
+set editor="${EDITOR}"
# whether or not to hide the help panel
set hide_help="false"
# whether or not to conserve memory in favor of faster rendering

View File

@ -1,10 +0,0 @@
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -34,6 +34,7 @@
fi
fi
LIBS="$mp_save_LIBS"
+ AC_SEARCH_LIBS([stdscr], [tinfo curses], [CURSES_LIB="$CURSES_LIB $ac_res"],)
])dnl

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci@gentoo.org</email>
<name>Gentoo Science Project</name>
</maintainer>
<longdescription lang="en">
Orpie is a fullscreen RPN calculator for the console. Its operation is
similar to that of modern HP calculators, but data entry has been
optimized for efficiency on a PC keyboard.
</longdescription>
</pkgmetadata>

View File

@ -1,33 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit eutils autotools
DESCRIPTION="A fullscreen RPN calculator for the console"
HOMEPAGE="http://pessimization.com/software/orpie/"
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
IUSE="doc"
DEPEND="dev-ml/ocamlgsl
sys-libs/ncurses"
RDEPEND="${DEPEND}"
src_prepare() {
epatch "${FILESDIR}"/${P}-ocaml311.patch
epatch "${FILESDIR}"/${P}-nogsl.patch
epatch "${FILESDIR}"/${P}-orpierc.patch
epatch "${FILESDIR}"/${P}-tinfo.patch
sed -i -e "s:/usr:${EPREFIX}/usr:g" Makefile.in || die
eautoreconf
}
src_install() {
default
use doc && dodoc doc/manual.pdf && dohtml doc/manual.html
}

View File

@ -1,34 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit eutils autotools
DESCRIPTION="A fullscreen RPN calculator for the console"
HOMEPAGE="http://pessimization.com/software/orpie/"
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~ppc x86 ~amd64-linux ~x86-linux"
IUSE="doc"
DEPEND="dev-ml/ocamlgsl
dev-ml/camlp4
sys-libs/ncurses"
RDEPEND="${DEPEND}"
src_prepare() {
epatch "${FILESDIR}"/${P}-ocaml311.patch
epatch "${FILESDIR}"/${P}-nogsl.patch
epatch "${FILESDIR}"/${P}-orpierc.patch
epatch "${FILESDIR}"/${P}-tinfo.patch
sed -i -e "s:/usr:${EPREFIX}/usr:g" Makefile.in || die
eautoreconf
}
src_install() {
default
use doc && dodoc doc/manual.pdf && dohtml doc/manual.html
}

View File

@ -1,25 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
DESCRIPTION="A fullscreen RPN calculator for the console"
HOMEPAGE="http://pessimization.com/software/orpie/"
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ppc -sparc x86"
IUSE=""
DEPEND="dev-lang/ocaml
sys-libs/ncurses
sci-libs/gsl"
RDEPEND="${DEPEND}"
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
dodoc README ChangeLog doc/TODO || die
insinto /usr/share/doc/${PF}
doins doc/manual.pdf doc/manual.html || die
}

View File

@ -1,49 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit autotools
DESCRIPTION="A fullscreen RPN calculator for the console"
HOMEPAGE="http://pessimization.com/software/orpie/"
SRC_URI="http://pessimization.com/software/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc"
DEPEND="dev-ml/gsl-ocaml
sys-libs/ncurses:0=
|| ( dev-lang/ocaml dev-ml/camlp4 )"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-1.5.1-ocaml311.patch"
"${FILESDIR}/${P}-nogsl.patch"
"${FILESDIR}/${PN}-1.5.1-orpierc.patch"
"${FILESDIR}/${PN}-1.5.1-tinfo.patch"
)
src_prepare() {
default
sed -i -e "s:/usr:${EPREFIX}/usr:g" Makefile.in || die
mv configure.{in,ac} || die
eautoreconf
}
src_compile() {
# TODO: fix missing edges in dependency graph
emake -j1
}
src_install() {
default
if use doc; then
dodoc doc/manual.pdf
docinto html/
dodoc doc/manual.html
fi
}

View File

@ -1,6 +0,0 @@
DIST mkinitramfs-ll-0.22.10.tar.gz 57830 SHA256 4add5ee5b705790b066146ce9971cd36332196d7e2d22eb7d25400aba0a35549 SHA512 ac406054b3f55d07a9a8326a14b3388bea8881e4fb6439376406c1d564a7a6c070b1dd9735b6f95f569a14668c2ac1d95e49b33cffab0007e963f9282e9f2718 WHIRLPOOL 799c646a3c7aac0dfd904d45c2b040537fa6ea701fece988ac93260bc6362173d24d5ffbd2ae01043d73c9f711743e2b7deed36a7897327419e60f63abeae883
DIST mkinitramfs-ll-0.22.9.tar.gz 57971 SHA256 3017d71ee6b7f09d6d35628c500a0d3587bd51ae6d7a9b851c4bcc6c7edb8d09 SHA512 e169d72a49ad2c197c41dfd6a2359968a8ac160091cd0ade93515609d719abf9d6927df1f11d39d0ba18eb0863406306e43f1cfcd7ac7beb3c9527dad46fbf78 WHIRLPOOL 41479691d79e62533dcdf188b54934c5ce0fe23afc702401c99cd3b56872c4b70d2bf2b449cac61a05423262a6be33975849e08c99835c8cab16aeb33a770ede
EBUILD mkinitramfs-ll-0.22.10.ebuild 3030 SHA256 c35875958976879f93efc4422ab9416964479ca71025980f52e5af03e2a1df8d SHA512 22023d3c4b787f43668458a8b989de463b090f3a53fa4a4d9bb79c4db2a6cfbfcd999d5e2e0d84f0a5c2ede7f7e3672546d5736924a18122aa78cb8af2bcfab4 WHIRLPOOL f78706abe22993982c82efbbac51860ab213df283f375854c951c94e8c76bb614683543d5071f62c7ff2c35c7098cfe981e8eefa00a00857f7800cc82071d80d
EBUILD mkinitramfs-ll-0.22.9.ebuild 3030 SHA256 c35875958976879f93efc4422ab9416964479ca71025980f52e5af03e2a1df8d SHA512 22023d3c4b787f43668458a8b989de463b090f3a53fa4a4d9bb79c4db2a6cfbfcd999d5e2e0d84f0a5c2ede7f7e3672546d5736924a18122aa78cb8af2bcfab4 WHIRLPOOL f78706abe22993982c82efbbac51860ab213df283f375854c951c94e8c76bb614683543d5071f62c7ff2c35c7098cfe981e8eefa00a00857f7800cc82071d80d
EBUILD mkinitramfs-ll-9999.ebuild 3030 SHA256 c35875958976879f93efc4422ab9416964479ca71025980f52e5af03e2a1df8d SHA512 22023d3c4b787f43668458a8b989de463b090f3a53fa4a4d9bb79c4db2a6cfbfcd999d5e2e0d84f0a5c2ede7f7e3672546d5736924a18122aa78cb8af2bcfab4 WHIRLPOOL f78706abe22993982c82efbbac51860ab213df283f375854c951c94e8c76bb614683543d5071f62c7ff2c35c7098cfe981e8eefa00a00857f7800cc82071d80d
MISC metadata.xml 1805 SHA256 a0ddf911e97c146b879be8f488431489bb0f9f13e2926c590f73dcdaee037852 SHA512 a268bd6a07d0f3428eda18feac89e11e1ebe0c7db33a8751db456a56f8d2923a49663604efadc27c77096435db1984bf9b554a9960c317c5b6e8f66c09a8f8b5 WHIRLPOOL 3f276235de37c45b8602803d30e3afe01826b6a298c45786b790d1df1e20c901ebc96eb1a1cf7f49f560d1a18523568d659e5b81cb65f948ff6a59fd6f2200f5

View File

@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<description>Primary maintainer</description>
<email>tokiclover@gmail.com</email>
</maintainer>
<maintainer type="project">
<description>Primary maintainer</description>
<email>bar-overlay@noreply.github.com</email>
<name>Gentoo Bar Overlay</name>
</maintainer>
<longdescription lang="en">
</longdescription>
<use>
<flag name="aufs">Add Another Union FileSystem support</flag>
<flag name="bash">Install BaSh (Bourne Again Shell) (build) scripts</flag>
<flag name="btrfs">Add BtrFS FileSystem support</flag>
<flag name="device-mapper">Add device-mapper LVM2 support</flag>
<flag name="dm-crypt">Add dm-crypt LUKS support</flag>
<flag name="dmraid">Add dm-raid Fake ATA RAID support</flag>
<flag name="e2fs">Add <pkg>sys-fs/e2fsprogs</pkg> (Extended FileSystem Tools) support</flag>
<flag name="f2fs">Add <pkg>sys-fs/f2fs-tools</pkg> (Flash-Friendly FileSystem) support</flag>
<flag name="fbsplash">Add <pkg>media-gfx/splashutils</pkg> (FrameBuffer Splash) support</flag>
<flag name="jfs">Add JFS FileSystem support</flag>
<flag name="lz4">Enable support for LZ4 (de)compression</flag>
<flag name="mdadm">Add md-raid Software RAID support</flag>
<flag name="reiserfs">Add ReiserFS FileSystem support</flag>
<flag name="squashfs">Add squashfs-tools support, +aufs adds squashed directory support</flag>
<flag name="xfs">Add XFS FileSystem support</flag>
<flag name="xz">Enable support for XZ (de)compression</flag>
<flag name="zfs">Add ZFS FileSystem support</flag>
<flag name="zram">Add zram init service support for zram devices initialization</flag>
<flag name="zsh">Install ZSh (build) scripts</flag>
</use>
</pkgmetadata>

View File

@ -1,115 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: sys-kernel/mkinitramfs-ll/mkinitramfs-ll-9999.ebuild,v 1.16 2015/05/26 08:41:42 Exp $
EAPI=5
case "${PV}" in
(9999*)
KEYWORDS=""
VCS_ECLASS=git-2
EGIT_REPO_URI="git://github.com/tokiclover/${PN}.git"
EGIT_PROJECT="${PN}.git"
;;
(*)
KEYWORDS="~amd64 ~arm ~x86"
VCS_ECLASS=vcs-snapshot
SRC_URI="https://github.com/tokiclover/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
;;
esac
inherit eutils linux-info ${VCS_ECLASS}
DESCRIPTION="Lightweight, modular and powerfull initramfs genrating tool"
HOMEPAGE="https://github.com/tokiclover/mkinitramfs-ll"
LICENSE="BSD-2"
SLOT="0"
COMPRESSOR_USE=( bzip2 gzip lz4 lzo xz )
FILESYSTEM_USE=( btrfs e2fs f2fs jfs reiserfs xfs )
IUSE="aufs +bash dm-crypt device-mapper dmraid fbsplash lzma mdadm squashfs
zfs +zram zsh ${COMPRESSOR_USE[@]/xz/+xz} ${FILESYSTEM_USE[@]/e2fs/+e2fs}"
REQUIRED_USE="
|| ( ${COMPRESSOR_USE[@]} )
|| ( ${FILESYSTEM_USE[@]} )"
DEPEND="sys-apps/sed"
RDEPEND="app-arch/cpio
sys-apps/findutils
fbsplash? ( sys-apps/v86d media-gfx/splashutils[fbcondecor,png,truetype] )
sys-apps/busybox[mdev]
dm-crypt? ( sys-fs/cryptsetup )
device-mapper? ( sys-fs/lvm2 )
dmraid? ( sys-fs/dmraid )
mdadm? ( sys-fs/mdadm )
aufs? ( sys-fs/aufs-util )
btrfs? ( sys-fs/btrfs-progs )
e2fs? ( sys-fs/e2fsprogs )
f2fs? ( sys-fs/f2fs-tools )
jfs? ( sys-fs/jfsutils )
reiserfs? ( sys-fs/reiserfsprogs )
squashfs? ( sys-fs/squashfs-tools[lz4?,lzma?,lzo?,xz?] )
xfs? ( sys-fs/xfsprogs )
zfs? ( sys-fs/zfs )
lzma? ( || ( app-arch/xz-utils app-arch/lzma ) )
lzo? ( app-arch/lzop )
xz? ( app-arch/xz-utils )
media-fonts/terminus-font[psf]
bash? ( app-shells/bash )
zsh? ( app-shells/zsh[unicode] )"
for (( i=0; i<$((${#COMPRESSOR_USE[@]} - 2)); i++ )); do
RDEPEND="${RDEPEND}
app-arch/${COMPRESSOR_USE[$i]}"
done
unset i
pkg_setup()
{
[[ -n "${PKG_SETUP_HAS_BEEN_RAN}" ]] && return
CONFIG_CHECK="BLK_DEV_INITRD PROC_FS SYSFS TMPFS"
local u U
for u in "${COMPRESSOR_USE[@]}"; do
U="${u^^[a-z]}"
if use "${u}"; then
CONFIG_CHECK+=" ~RD_${U}"
eval : ERROR_"${U}"="no support of ${u} compressed initial ramdisk found"
fi
done
for u in ${FILESYSTEM_USE[@]/e2fs}; do
U="${u^^[a-z]}"
if use "${u}"; then
CONFIG_CHECK+=" ~${U}_FS"
eval : ERROR_"${U}"="no supprt of ${u} file system found"
fi
done
use e2fs && CONFIG_CHECK+=" ~EXT2_FS ~EXT3_FS ~EXT4_FS"
linux-info_pkg_setup
export PKG_SETUP_HAS_BEEN_RAN=1
}
src_prepare()
{
sed -e '/COPYING.*$/d' -i Makefile
epatch_user
}
src_install()
{
MAKEOPTS="-j1"
emake DESTDIR="${ED}" VERSION=${PV} PREFIX=/usr install
if use aufs && use squashfs; then
emake DESTDIR="${ED}" prefix=/usr install-squashdir-svc
fi
use zram && emake DESTDIR="${ED}" install-{zram,tmpdir}-svc
local sh
for sh in {ba,z}sh; do
use ${sh} &&
emake DESTDIR="${ED}" PREFIX=/usr install-${sh}-scripts
done
use bash || use zsh || emake DESTDIR="${ED}" PREFIX=/usr install-sh-scripts
}

View File

@ -1,115 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: sys-kernel/mkinitramfs-ll/mkinitramfs-ll-9999.ebuild,v 1.16 2015/05/26 08:41:42 Exp $
EAPI=5
case "${PV}" in
(9999*)
KEYWORDS=""
VCS_ECLASS=git-2
EGIT_REPO_URI="git://github.com/tokiclover/${PN}.git"
EGIT_PROJECT="${PN}.git"
;;
(*)
KEYWORDS="~amd64 ~arm ~x86"
VCS_ECLASS=vcs-snapshot
SRC_URI="https://github.com/tokiclover/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
;;
esac
inherit eutils linux-info ${VCS_ECLASS}
DESCRIPTION="Lightweight, modular and powerfull initramfs genrating tool"
HOMEPAGE="https://github.com/tokiclover/mkinitramfs-ll"
LICENSE="BSD-2"
SLOT="0"
COMPRESSOR_USE=( bzip2 gzip lz4 lzo xz )
FILESYSTEM_USE=( btrfs e2fs f2fs jfs reiserfs xfs )
IUSE="aufs +bash dm-crypt device-mapper dmraid fbsplash lzma mdadm squashfs
zfs +zram zsh ${COMPRESSOR_USE[@]/xz/+xz} ${FILESYSTEM_USE[@]/e2fs/+e2fs}"
REQUIRED_USE="
|| ( ${COMPRESSOR_USE[@]} )
|| ( ${FILESYSTEM_USE[@]} )"
DEPEND="sys-apps/sed"
RDEPEND="app-arch/cpio
sys-apps/findutils
fbsplash? ( sys-apps/v86d media-gfx/splashutils[fbcondecor,png,truetype] )
sys-apps/busybox[mdev]
dm-crypt? ( sys-fs/cryptsetup )
device-mapper? ( sys-fs/lvm2 )
dmraid? ( sys-fs/dmraid )
mdadm? ( sys-fs/mdadm )
aufs? ( sys-fs/aufs-util )
btrfs? ( sys-fs/btrfs-progs )
e2fs? ( sys-fs/e2fsprogs )
f2fs? ( sys-fs/f2fs-tools )
jfs? ( sys-fs/jfsutils )
reiserfs? ( sys-fs/reiserfsprogs )
squashfs? ( sys-fs/squashfs-tools[lz4?,lzma?,lzo?,xz?] )
xfs? ( sys-fs/xfsprogs )
zfs? ( sys-fs/zfs )
lzma? ( || ( app-arch/xz-utils app-arch/lzma ) )
lzo? ( app-arch/lzop )
xz? ( app-arch/xz-utils )
media-fonts/terminus-font[psf]
bash? ( app-shells/bash )
zsh? ( app-shells/zsh[unicode] )"
for (( i=0; i<$((${#COMPRESSOR_USE[@]} - 2)); i++ )); do
RDEPEND="${RDEPEND}
app-arch/${COMPRESSOR_USE[$i]}"
done
unset i
pkg_setup()
{
[[ -n "${PKG_SETUP_HAS_BEEN_RAN}" ]] && return
CONFIG_CHECK="BLK_DEV_INITRD PROC_FS SYSFS TMPFS"
local u U
for u in "${COMPRESSOR_USE[@]}"; do
U="${u^^[a-z]}"
if use "${u}"; then
CONFIG_CHECK+=" ~RD_${U}"
eval : ERROR_"${U}"="no support of ${u} compressed initial ramdisk found"
fi
done
for u in ${FILESYSTEM_USE[@]/e2fs}; do
U="${u^^[a-z]}"
if use "${u}"; then
CONFIG_CHECK+=" ~${U}_FS"
eval : ERROR_"${U}"="no supprt of ${u} file system found"
fi
done
use e2fs && CONFIG_CHECK+=" ~EXT2_FS ~EXT3_FS ~EXT4_FS"
linux-info_pkg_setup
export PKG_SETUP_HAS_BEEN_RAN=1
}
src_prepare()
{
sed -e '/COPYING.*$/d' -i Makefile
epatch_user
}
src_install()
{
MAKEOPTS="-j1"
emake DESTDIR="${ED}" VERSION=${PV} PREFIX=/usr install
if use aufs && use squashfs; then
emake DESTDIR="${ED}" prefix=/usr install-squashdir-svc
fi
use zram && emake DESTDIR="${ED}" install-{zram,tmpdir}-svc
local sh
for sh in {ba,z}sh; do
use ${sh} &&
emake DESTDIR="${ED}" PREFIX=/usr install-${sh}-scripts
done
use bash || use zsh || emake DESTDIR="${ED}" PREFIX=/usr install-sh-scripts
}

View File

@ -1,115 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id: sys-kernel/mkinitramfs-ll/mkinitramfs-ll-9999.ebuild,v 1.16 2015/05/26 08:41:42 Exp $
EAPI=5
case "${PV}" in
(9999*)
KEYWORDS=""
VCS_ECLASS=git-2
EGIT_REPO_URI="git://github.com/tokiclover/${PN}.git"
EGIT_PROJECT="${PN}.git"
;;
(*)
KEYWORDS="~amd64 ~arm ~x86"
VCS_ECLASS=vcs-snapshot
SRC_URI="https://github.com/tokiclover/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
;;
esac
inherit eutils linux-info ${VCS_ECLASS}
DESCRIPTION="Lightweight, modular and powerfull initramfs genrating tool"
HOMEPAGE="https://github.com/tokiclover/mkinitramfs-ll"
LICENSE="BSD-2"
SLOT="0"
COMPRESSOR_USE=( bzip2 gzip lz4 lzo xz )
FILESYSTEM_USE=( btrfs e2fs f2fs jfs reiserfs xfs )
IUSE="aufs +bash dm-crypt device-mapper dmraid fbsplash lzma mdadm squashfs
zfs +zram zsh ${COMPRESSOR_USE[@]/xz/+xz} ${FILESYSTEM_USE[@]/e2fs/+e2fs}"
REQUIRED_USE="
|| ( ${COMPRESSOR_USE[@]} )
|| ( ${FILESYSTEM_USE[@]} )"
DEPEND="sys-apps/sed"
RDEPEND="app-arch/cpio
sys-apps/findutils
fbsplash? ( sys-apps/v86d media-gfx/splashutils[fbcondecor,png,truetype] )
sys-apps/busybox[mdev]
dm-crypt? ( sys-fs/cryptsetup )
device-mapper? ( sys-fs/lvm2 )
dmraid? ( sys-fs/dmraid )
mdadm? ( sys-fs/mdadm )
aufs? ( sys-fs/aufs-util )
btrfs? ( sys-fs/btrfs-progs )
e2fs? ( sys-fs/e2fsprogs )
f2fs? ( sys-fs/f2fs-tools )
jfs? ( sys-fs/jfsutils )
reiserfs? ( sys-fs/reiserfsprogs )
squashfs? ( sys-fs/squashfs-tools[lz4?,lzma?,lzo?,xz?] )
xfs? ( sys-fs/xfsprogs )
zfs? ( sys-fs/zfs )
lzma? ( || ( app-arch/xz-utils app-arch/lzma ) )
lzo? ( app-arch/lzop )
xz? ( app-arch/xz-utils )
media-fonts/terminus-font[psf]
bash? ( app-shells/bash )
zsh? ( app-shells/zsh[unicode] )"
for (( i=0; i<$((${#COMPRESSOR_USE[@]} - 2)); i++ )); do
RDEPEND="${RDEPEND}
app-arch/${COMPRESSOR_USE[$i]}"
done
unset i
pkg_setup()
{
[[ -n "${PKG_SETUP_HAS_BEEN_RAN}" ]] && return
CONFIG_CHECK="BLK_DEV_INITRD PROC_FS SYSFS TMPFS"
local u U
for u in "${COMPRESSOR_USE[@]}"; do
U="${u^^[a-z]}"
if use "${u}"; then
CONFIG_CHECK+=" ~RD_${U}"
eval : ERROR_"${U}"="no support of ${u} compressed initial ramdisk found"
fi
done
for u in ${FILESYSTEM_USE[@]/e2fs}; do
U="${u^^[a-z]}"
if use "${u}"; then
CONFIG_CHECK+=" ~${U}_FS"
eval : ERROR_"${U}"="no supprt of ${u} file system found"
fi
done
use e2fs && CONFIG_CHECK+=" ~EXT2_FS ~EXT3_FS ~EXT4_FS"
linux-info_pkg_setup
export PKG_SETUP_HAS_BEEN_RAN=1
}
src_prepare()
{
sed -e '/COPYING.*$/d' -i Makefile
epatch_user
}
src_install()
{
MAKEOPTS="-j1"
emake DESTDIR="${ED}" VERSION=${PV} PREFIX=/usr install
if use aufs && use squashfs; then
emake DESTDIR="${ED}" prefix=/usr install-squashdir-svc
fi
use zram && emake DESTDIR="${ED}" install-{zram,tmpdir}-svc
local sh
for sh in {ba,z}sh; do
use ${sh} &&
emake DESTDIR="${ED}" PREFIX=/usr install-${sh}-scripts
done
use bash || use zsh || emake DESTDIR="${ED}" PREFIX=/usr install-sh-scripts
}

View File

@ -1,58 +0,0 @@
AUX 2.10/glibc-2.10-gentoo-chk_fail.c 9407 SHA256 7745c0f5d37b37959b43b41e39762fc35b877161bc5740d9d3e9a83021acbc0e SHA512 d1c51c573353b3b8ae6ab1bcc8c10eda5cad8b98fc7ab4848e4fbd8a8736174f3c3fd1b72dd80c72b1e54be78f1cae4dc1ab8130df25aa6d1495e5cbbaf3b9f6 WHIRLPOOL 32028ddeb422d89c0523fec994413e67c6afd9fcfdaf147d3d6a28bd02f8feabda9571ced4509253b7061a95bb2c16cecf94a4274671b33909ff545b1787f101
AUX 2.10/glibc-2.10-hardened-configure-picdefault.patch 865 SHA256 b50b29f85d88011555bbcbe6046e6600be9344f2d78412b14aebdea515420774 SHA512 e0a09f77b209a72ab577fe1e62126609fdddedf3fba0eec749c4b506cdf793779b48390f055a3594892120f694291f8340c0b6f51862e94c03fd516897138be7 WHIRLPOOL d1b8e1536696350e0ed9eaf9a923daa7c004ef40ae94c1c3ba3d6cb293f1c19364cefbe8491089061124cbe26a9fded9f3d38d89f1bda56d408162e53702e8d4
AUX 2.10/glibc-2.10-hardened-inittls-nosysenter.patch 8823 SHA256 dcf78c6524c222dbee907200a8878aff727e29d43a4962b977a16d85752e5c10 SHA512 0605b7964af87d1d6bdccea5c4d1bfe6267d4401b8bbf0c8bb689663e6bb3ef92eebad8be6c23ffdf6632a4d5e6098d8a403c3e84ffb21b5e87b5b1d1ec3512d WHIRLPOOL 635261b547883bbfbe23c802fcf97916dee823b367f96732ccecd7506dff004b87f2d36d97ed398510711330f3a53f039a14e226d20a681cc201a8c7a3450833
AUX 2.17/glibc-2.17-hardened-pie.patch 1784 SHA256 bba32e40c73aef20122b2825f31e5c3aa058b61feae4f32f336e1941f83f82d1 SHA512 9ecfe2b6c8c982a42786181d6507d5fa588a6868109065451f58a779848837bd5e69c32a24e43a186c2ff63a9784015c51487e342c87982ac074139e36c169fc WHIRLPOOL 1baffbef9e6d870ea2f2ae5be014b71020a213a1a11e9856fa207545867de444ed164cb926b2aac23471854eaaf72a87e38760702b32bfcfa639add8733d925e
AUX 2.18/glibc-2.18-gentoo-chk_fail.c 9384 SHA256 e6ed60f4e0d262aaaffac2b84fd2fcf7906965dc9d91a2150b8b2d9f50e7b9e4 SHA512 f7106e36fa49b0000192c281edfcd49338c825b8b8663ac9d7304e8fe8b2f44b39c6c82a741b8e8abce4cbe2fd72f64e3cfe7a18ff504a4b2b2d63e5c75d62b7 WHIRLPOOL 80aa86694aedf306276ba74334a14e98b108caca046430e6ce71ec67221ef716e7350a667929bf79277bfa9f0eaa23d4544f8acf7e32fd54a26b3a0f5ebc596c
AUX 2.18/glibc-2.18-gentoo-stack_chk_fail.c 9599 SHA256 039a6249236c60bb909e67339fd7ef6eefd1f4bb71b8cd39f4fe04530c536315 SHA512 97acbdb8aa87dd7e197a1577bd053374b1c8c30d6c82f4a71ef04409bf87b36a60322237cb79896ebdb49960fcaae4c4f2333497f5c255f67717b01d6d62c2d5 WHIRLPOOL 40ed26d3a251a6f4de125a588bafb911b7ba4867f5139142c00a2bc2f2616658a45cff144d2629bdf33cadece020ed6a1bd7a74047da812821cdb6d3e8253f40
AUX 2.18/glibc-2.18-hardened-inittls-nosysenter.patch 8981 SHA256 3fcdef34164b7fa6e493e081d32427017d239236aa4e183e3a470fe49a028eb7 SHA512 98feb8f12dc5d2bb030ec7c6c77f3f9389ebc208fafc96496f316e577457dd991294d59735b013b17e1d10d5c7b63471d5b857d2334be78239a8ceb1ad62b1fc WHIRLPOOL 52ac2452fe3f9ec6ac3f4635cf017d1347eda6b950f25ecee6ef1b444de97fad5a1792432e0c783375fc7d07c80b4cd77e48a6d6051aec3933696e2f17fcec18
AUX 2.19/glibc-2.19-hardened-configure-picdefault.patch 865 SHA256 feeb2ddc276e90f55d2fd358837e8d4922d3b2875cb8080b1d8e27e5da83a2d9 SHA512 d8e6fea72e240f1fde8a487958463140a84e8bd6bb5b176f8ce84a34df3137943db9016300884f3efdd4da130e342448e57ed0c0dc6eb2956d647286ce1d00ce WHIRLPOOL 3a5d2882b5fc1bea78c45409c848c94a260659e3ea1e28a5dc8818de8825e55453aa1cc97b86eef99c91b17bde9f2a6db1fd8ae03839f7029d93a71feaa4d4d0
AUX 2.19/glibc-2.19-ia64-gcc-4.8-reloc-hack.patch 1360 SHA256 f0d8bb004f598375b61e67e1c215b15953c293038243207f2d85cbe9f10d093e SHA512 79876b12871b3e7693340bfdf99276ac0dfd6ff30bc977a9526af9e681fcbab2f25d3ac9e2b33f027c968b38a4b670237de54ffd08edc418423ecd82dddd1d67 WHIRLPOOL 5ca64dddf58a790cc5f6090ae48fc4bd4799a9aac4c67f6ef7d1fea9498208ffc38ee8167b6ec80dc97c4f723fcdfade8f573893f1b380aff04f6d0476d0d253
AUX 2.20/glibc-2.20-gentoo-chk_fail.c 8978 SHA256 f9cc426b0fb21de1dc11bb36e43bca8e1b3114fe78f8b343f672a951a82c742e SHA512 5cb529ac9d18a315f25fd48a3a80a529924bee0588074c97e6df7dbe8568a67f786363c41da6300ea55818369e3609ed4315b2e2104f8a8b4f1266ba43076eda WHIRLPOOL 2d38c19a20226fc4687037b8bb19025065f039ddaa62466879ca98765c8899e64b147dd148565304419ed1a98fbe1f8403710b22c930b08a19bddba7e79b0f1d
AUX 2.20/glibc-2.20-gentoo-stack_chk_fail.c 55 SHA256 ec73e74297b5eade591bfb3a2999989e2a7aa80752140048ffa67349635f05e7 SHA512 4dfec1bd17007b826110dcb73d09331a58b7a892c87de55b94480b14c28686442c567725b610082813411cf9911e180835a400a54ea704fe80f81cfba966a989 WHIRLPOOL b2b338a50f7895c530a71a19e4582bd0116a0b9d13b2e1505f0566924557493849f93cefb2c0ad1719ef684321e145129e0f72cfc9aa85a44ea7ebf910e7304c
AUX 2.20/glibc-2.20-hardened-inittls-nosysenter.patch 9951 SHA256 992fb70b9b62674d94ef8938297a3f2591b3121495987d927f5a44c1d8788658 SHA512 a8302ee2963bd791be859233223b17cd154afbf04c13c046956bb1140d748272d7bcb3a6167ce8b61573ebcffe906dff064308374d2910656b8fad18480fe422 WHIRLPOOL b8753d6f1301650b91b5cf4f342de22010d819deb2bf4da27aac33d7540e15a140b8a7a4c5e111faba320873ed5784b22f6add29181fbaef14c3e9504b1b838f
AUX 2.6/glibc-2.6-gentoo-stack_chk_fail.c 9545 SHA256 1410ded812be80d452eada5f9d6b9bd7bdb504c14f01cc27dce3e36b6f92b92a SHA512 360b77df2d19d14060e19e763878297bf042eccd5206ce4829a33c78c982b59b46144116d237a7cac73a22dd6cb4987c8dd50f1d16003baa22c2cb2942d2cbdf WHIRLPOOL 44e14dacdd258c46201a44c2c6aae4d975b960a914c24e49f2b39dae960636512049daa052d3cd8e8d93819d263327c28eac947efdb5d9e240d1bc6e9964016f
AUX eblits/common.eblit 10956 SHA256 6d42f84d8a2b615f30a15219cc486ad1cfc005c30629b3c0263654d5d0a820e6 SHA512 84906446ad82819bc104f6358149d374b43045a29d3075659b203ad2be6dcaace9eda6109e6866bba52e7629d40fb22ce9d01dfe03f4ef2978ae15c3aa2b9c78 WHIRLPOOL 15f1f6cff9ca3f503721f33c9faa7bdd3d8c25da63d13aff8b0bf8af9df4fec721122d7be937344cdf6781790371bfec1111419a6da61c1c3cd9d5c02c69caa3
AUX eblits/pkg_postinst.eblit 971 SHA256 abcb925bb0730d1eae22bbcee7a4ba6523280390f410f38bfdf9eb44e0280000 SHA512 65e577c77a9a488c5e93ccd4afa325ab7e3904df594c13fda17136c8aa2748fa4e6d0102f4799b4ac9b8c3bea9920faadc4db356ece9929ee708bbfa9151dfc2 WHIRLPOOL fb3cdfb702b0ce616064f94321b9225a53b300f76d95495098b6c97eb3ab1650ea2d323eae169bb8d1fd8795134aacb5c54ba6927fe743b01f124aec416b15a0
AUX eblits/pkg_preinst.eblit 2076 SHA256 1d2f3107f463baf916378ea1b6079ef4d03983e1dc01fb7ce551f94c457992b8 SHA512 78fde8ac1338029c7e66ac592044ad797fa7771dfdb8ed21ab681bb3ce5d9778a960b8606cdb7d35f6ace0188d0053dfab29a9e31b1d0051a2f2170c9449d368 WHIRLPOOL 474b8e6883dccd735808bd4f8c0cf42b619c01c2c55a80c2eeff4bdf4716cd706c834bed2a919350fc339f0b8b61c8ba94c342df5736332f32b40ba3155075b6
AUX eblits/pkg_pretend.eblit 4991 SHA256 bf6471db95d844a2707d7abd0082c1c9ff37b11352b960cf8ad2a204f3b7c6db SHA512 5754f3d3ab2e2a4b597228fb8ba3c3831eb89f9bf5ab6b8eac59e2253c87e1fa42cf3fbf775ee5fa1f115e70efdc5325e115d65e37a3bc7894473d3d07394929 WHIRLPOOL 5eb7d48c2732698ffffbc52feb6c4753bed1b172d931747e90b8f13c436c347725c09d15210179b3b26d2a87a4132a5eb7c7ee356c2ecbd77e368e3ff0b0a61f
AUX eblits/pkg_setup.eblit 275 SHA256 c5de97dc69d3508555ac579e14ead694a75edf4707c1749219677ebee88ca9ab SHA512 627740976e372842b09034b79f61f5cb5d8283f47c94cfe66b2aa1517c901df0bf3b456f1ba26a9ddc0aa0215190d0415ed4f881cc950d163d8203a0e6bba2a9 WHIRLPOOL 16ef3155b35671311443f4c231c1867d12731035aa603dedb6e86eabdc1501c67183474a26bb06048e12c19ac3bda054fdb8a107792a3dddb743b6dc7d447339
AUX eblits/src_compile.eblit 598 SHA256 3b90a6f44d307b92cee36fdd91d412bdb9fcbab555e6c6bf8174c8e3f29137ca SHA512 ee216aa3bb13f75313d141459acb47523442addf12a6bb8d829ca40eda4f63324911a13ff0ae90fe6eed1fbe0058c89308a2205c5357a0e1897a89573fea2f51 WHIRLPOOL 3bfc5406e794ee9ee4005e97aa2d40a82d77de090c72767d6b43be6993048536b4f2442bf6864157d036e7ea3fce6ba6537a97cd2afee04c61f9e98e1adc3c00
AUX eblits/src_configure.eblit 8218 SHA256 0d279bf1a1f72335d31843d5558f8f5602368eb840a5a107d93ef914e381b45a SHA512 097e5e44108c32571bde23c7c5fba500d6f6e7959e0c2088bcaadc8bdd817f03a0038d1c08c5c746ed756a09e5d015dc506c7f0bd7f7837bddf16d8aabd54216 WHIRLPOOL 818b0559d1949dad4d2e69399b9f88fb883fdf69e4be77796c5850a0a8b13fe22697d4adeea5d10ff40dc1f9391d72242c7de37bb1f0047cd655aa6ea8d9c38f
AUX eblits/src_install.eblit 7814 SHA256 8d64a4a031263dd7c3e7ba710a5dbe51fa7004b9795fefdab55f7db273f5e89f SHA512 fb9fc62103e1803509f5910b71eb28398258433762b930c93cccb7578756599739714c41077a2d0fd81c78e8fd14fd30b384a2c141d8df801507414531062551 WHIRLPOOL 4634ef7da02f35d461027a4d5bd27bd4e888805de0713b577ac47eb1161048f929e1c52e38fc4ad8da333a2198877b82962416edfb30bbaafb9055fb658a6226
AUX eblits/src_prepare.eblit 2234 SHA256 ba76d31b6a4cafbf9d580bc337d88d44a706b201a5799d2e32aed50251bb703d SHA512 8b57a852e357e143d4b4c72c620d28bf3937c017a71b1760a7b7d5c684c5d2a41488a16b5f666487a9b5efe3b1cfa7b3b067dec1e832e6139455c61c62f2fafe WHIRLPOOL 98bca56b92abc78fa717d74c7aa37eafacd8674093638653e37f85fffc09da6abe8c0923bc735606ed56862f79daf26a88573c719fc04961025951dd88967995
AUX eblits/src_test.eblit 698 SHA256 96b044ef9a27c2591b2a440b45bd89989022d0b41c546ce4dcea58a631315bf4 SHA512 0a46dddf53ccbfaab3f85ba7d2e8f202b4d5be98052601686592eca0ec115de29d8cb1f324ba12dcb77f3a8d4bbb39032532042b8adf809a772ebcc845b1a152 WHIRLPOOL 42af8b97859789b52a5a0c100ba109d8c3dd47532ef3f0b764c95b7a61be9d293d99de25e601dacd840c0a4cc921740b5acc2a3567b5aa3ae8ac6f88430ccf04
AUX eblits/src_unpack.eblit 3096 SHA256 f0934fe81278797a0625fde2518f5bdf8531c75443ed3dc6ba7d18aa751cb235 SHA512 6fb32f854920ac4c0df5d60d334f4b9376b05d9b2df7d1bfac979acc3d7c282846fcce36c9816558ee75db030c3551b95f2ff26e53ea166adf97a2ae5db55abf WHIRLPOOL cee004cf4967f0b073f56ef5bbc67e56981f109400622f70cfba51ce120115f4c25ee7696a5b9baf7b22080d01d038ea936d5c342d65b7331b3801510a509123
AUX nscd 1527 SHA256 70a809ba34959aa9622bda95299e7391d14d84fad8b3cf5012e2284b6324b6cc SHA512 d25cd0696e4ab2c33fbfe4adeb2f7f9ebe6b77f78d8b4aa79e88aaec21e7aa9c26de724ad0aed5e3e994a8c96bbfa759c48eee99b442f0e4ab9b2c62d177549b WHIRLPOOL 2edef69a468325ac30f8b3f9ea3082f9fc69d887f775f5bed96fc1135bbb675ce1a797a898ce9f744d5d0c3fc0f2156edbca0e39134f08a2d8f41ef3513bf3c6
AUX nscd.service 337 SHA256 de7bc9946309d34f0ab44aa22a4d3cf259fe91c57e8000d741cb09ecd3a6caa0 SHA512 2001100f3b054843c69b6fd2d38852c7c824282aa8998c25a3c0352db993705429d25c70d8ce6cb3579f836b7089644c520acac423ebd69cb1b36e94a77c5bea WHIRLPOOL f01d191971b0dc45f541c9ebaaa1a40f3497e2cc838cff6a20a7b1828d726c248abbd94322a5a5ff30c33ddb7d9086cd4d2ba3bdc1811fed59ff292ef3983a72
AUX nscd.tmpfilesd 111 SHA256 f0f64c4612d2097173854d2ec2e94ecbf4b77c7a6e94d950874e37346aa90d72 SHA512 53b80b331e1a85d8ee16eb2ce547a7249e944926c3d1cdd4a47a5301a5c842ffc7ec1e3dc0a731542a8facf8261c1c57121802d01741aa89898a3476c09da340 WHIRLPOOL cf1fed1a7e2ac1623a84f1cfa2062645afe3f791da2f4ace3859d12aa05df0e282b4c2e367a460015956ac2a8d01fee4cda84917a3adf2c38561dff200335270
AUX nsswitch.conf 401 SHA256 bcafb75d99fc101c9877642ee43a87fe417c164e4ef6562e9c033a5639d30d5c SHA512 e7969cd8ad611ac267cfe10e21bc63fb640910e0c0b82d6da76944ce6a7535d585a369bad62c6b6139f38d67403cb77938606af990350b7395bdbf8e1bfa7b34 WHIRLPOOL 97c713070be7890382663d2c70572794db4008298b342d9044b450f8d841afd01bb848f3e300bc745b17fb7d7b082aa094aecadbc185060115da04f05e4bd2c7
DIST gcc-4.7.3-r1-multilib-bootstrap.tar.bz2 8064097 SHA256 34aec5a59bb4d0ecf908c62fd418461d0f3793238296897687305fd7a1f27299 SHA512 40b93e194ad41a75d649d84d1c49070680f253a13f0617803243bc61c44fed1ca2d0a7572a97ebb79353f312b58b5f6360be916dd7435928cc53935082e15269 WHIRLPOOL bbce19e7fe5c30faa55ddd4e29070f0d1fdfca3a04e8d68e0772260fa9be89ccde63ec92badb490209008df5fee6e53dfdeec4ae51857b90ba298a79315a199f
DIST glibc-2.17-patches-8.tar.bz2 83707 SHA256 477946a4915dcd0cc0565ff8532d219e2ee868f6e821ea71ce579652d01ccbb3 SHA512 6675357e62b554d9d0f8ef70341b8038f8f89591fba384bc3783ef81aead0532486e2218af71da9c6f88a3b8b382edec81bed36eb636ee231eac80e111acbfd8 WHIRLPOOL 946f431b28ec60cc61d44364187f64a2d6e92ed7c9071126cf70277843c656de4dfac9f184f572f9a72c0cb452d879cdb7aca5b9f92f8ff02a8b1a521fffef43
DIST glibc-2.17.tar.xz 10981956 SHA256 6914e337401e0e0ade23694e1b2c52a5f09e4eda3270c67e7c3ba93a89b5b23e SHA512 384e54037daaa344a26ce58242acc3f9a249d0765088d18a540a305745afa33ae6dec4024adae958eacd7100be9c713d117260ace8340f6d8c8396dbde4868d2 WHIRLPOOL 9b98c1c298aeff607aaa554341c300c15491b7314f127524fc5c048c67c5059daaf706e6cf206bb69213d5307e37bed87137ab46f504d8072bb778310081fc23
DIST glibc-2.18-patches-4.tar.bz2 95165 SHA256 89b458e22db60847b4ad869e3b5cf32868528b8d73205a692a6c0d07779dd083 SHA512 d881c9c5fe32b967694d4ca5185ff5ffc964449f2ed49fd062e5d57a3c6d9f16eef2f591d2d8e98a1a95a6487f3436ef031839ed8766fd085404b288340b7933 WHIRLPOOL 55f87d0efce1f84b45968f377e868c31102cb5228fe4ff1ffa132770f242f9f4f1843c28e4eb38ee7bed1321507ae12b7284a18199af63df1ecd070233d1076f
DIST glibc-2.18.tar.xz 11150148 SHA256 2cb4e1e381928f1e5e55e71ab1ba8e0ea7ede75ff9709770435bfd018ea257a3 SHA512 27218d2e7dd3bf3908d7af171c490933680e958c579ebd27b43b661e223fd5de2219cc1cf699170405280808c84de476d0ad86dbba35a488ef404e9438552327 WHIRLPOOL 89b877c7db602ffd4374c7fb84db17397b91f889a7de6259f79374cc3fcd00613114cbb93feb518ef25fb2e579fb03843df15d17235c1fe1b6a7e0e64aa8e8fa
DIST glibc-2.19-patches-3.tar.bz2 80664 SHA256 6fb03292e224199e0dd9ba7ee83aca723e1560f26831e85cdc6302b187c6de3c SHA512 d281d6a2757920124cf8a3f02b97e75192598b08d96ae48840df34c7ffdcb212952d171f233e6f12a429b19437d0a296212fe1f2eae164d6a1c6793cb3cb69f0 WHIRLPOOL 6f28a2d0dff42e8ad0e77859938e3093753f77f78821375777eebb2db5568bf1c56e8b8208f02280f23acb2dd26dc8a313fedd5b2c10755f1659e6d324a1dbc3
DIST glibc-2.19.tar.xz 12083312 SHA256 2d3997f588401ea095a0b27227b1d50cdfdd416236f6567b564549d3b46ea2a2 SHA512 9e021fcb3afbb9ace2a0e37fded231a62de861bd766e29d47163a03182e37add718b7acc3963d1c525f9556773e842297725715acde48dcfbaab6e756af1a23d WHIRLPOOL 9581a3a23ebdd56bc559b56b95b7bcd21ca039546ec19c6c0e4e0738597542164fdb21ab1d1f36d5e73a205fb51f0974c7d497972615bce69ae002298f6475b6
DIST glibc-2.20-patches-5.tar.bz2 55986 SHA256 3d3eec9ac9b5d0530f9e05614f4646d64ff93a48865b42c156990bea69247cda SHA512 409f59a028127e02f0c9f91107715b540d8d234475830adc17108a02664be232098d119b43bcc8df9b328ab50c1fffb0868d510e6487ce1c34ec2c7c7a78375b WHIRLPOOL b3c41b01af5d8ae8e901ac48ae124e13ff1c76fbeb35315cb9630c648c03d7abbfb753294cbdfe1dc939bda260e24d8450ffb19cfe5c255b32f8c5500f2c43f3
DIST glibc-2.20.tar.xz 12283992 SHA256 f84b6d42aecc288d593c397b0a3d02260a33ee686bce0c634eb9b32798f36ba5 SHA512 7a8eea8b71d3ccba766c3f304cab61055446d451ef063309476b26dc40d880562dc33b1b68fbedeedb4b55b84c26415b9202311aaa71ef8c141b6849a814d2fa WHIRLPOOL 042f74d75c62a655ae35348c9cd0bed0845ab199e37a76635eb74c04ed927b5eca77723c38d2dc46f12fca62c1004001887b43946a914b079ad22f6a9cc8daaa
DIST glibc-2.21-patches-7.tar.bz2 46894 SHA256 49126df6f4b819f2c315cca0a07e9b8ee7e279257148506d336ccfef5766bbcb SHA512 e4cca3d753c0b9d213c0ed85e3d08cbbf6517862b3a48af987e010abaf5a022b47330040ced183d30b5b934de7587e97b4342e51a6df3d5cfa768bdd8b43b756 WHIRLPOOL b5f4bffdcaf629d735e7498f509bf2130acb18194b18e69747bb6c3e403b221f2163eea3770bb19c05253d7134f70ed4657d7c30c5978f7b5571a3482f9521ad
DIST glibc-2.21.tar.xz 12322092 SHA256 aeeb362437965a5d3f40b151094ca79def04a115bd363fdd4a9a0c69482923b8 SHA512 8cded6693618bec115f678fcbd0b77556f97dfa8337608f66e37224aefa55b38765ba61cb4d58beea37b5934e5ec8e30bad58613707388484906f2a0ce77997d WHIRLPOOL d07fec32bd92eade065a3b6170932b8bd41d07df4aa69dd5a860ebb9678c22bd1e20bf88b1fc05c3ecc18e709c0a63118e12525dc668e0399d7ef7fe4454702d
DIST glibc-2.22-patches-13.tar.bz2 74479 SHA256 ffd1e0f9a41be030e5ce2518d9e84a1fbaa9a4fb2e96f1b85dafb05fea666c86 SHA512 73517fc1502b0733d67ade1d1ba6168415f5da64f37045fac0b10ef57155bf6dfbe1876e4742d2543fcea0c935c179426f6fbb94f0205968392ef903d2f83897 WHIRLPOOL 0eeedaf09eb42e5186256dd41aae00cd2b9b8e3ab929a792e83d0fd8e8a8630d829f01b293588bf59e105eb17ab512416d8d115c3e542cddc34a84b84d56af3d
DIST glibc-2.22.tar.xz 12969072 SHA256 eb731406903befef1d8f878a46be75ef862b9056ab0cde1626d08a7a05328948 SHA512 a8719f3a4f8aa5fa81711116fdafbea5082c6dfd85bd8c4cdce60571910263ab422b35bb8b55a84d37ccb146442133ba60a84d453ca4a439c8ccd35419bd051b WHIRLPOOL f7e707b3776fc197a2e7bf5633721925507237b154bbc1f94b9fc303c87e6fc039ff0758da6ee55b4c1a0daaa87c6e594a6c96e7b00a7ba8ae98ee29918709a7
DIST glibc-2.23-patches-4.tar.bz2 230533 SHA256 5b64a9b30778be79fac8a8c7e2ec7ebb077e136c85d79996ae3d725189d236a4 SHA512 af140a13bbc28070bfec26e041ce562b1cc091d312a82f385becb3ab87ee882d8ea10ac4ec6dcf86f154857527a3383782d46141016047338cebc7c393329cf3 WHIRLPOOL ca7be788c64428bd2bd6e41eee5345ff85dc9ee0987af55f60104a9f03e3019b8fa6a933ba785d3b1b27540c2485160d50499049985271227c07b094db649de3
DIST glibc-2.23-patches-6.tar.bz2 311773 SHA256 d3fbc6068bb7bb92a5e4c8fc30d5c70c203a64bcb33b5578de7639400e1a56d9 SHA512 681b5ee139be9f2daf286a42df3a811b44330ee1a24dd539c4510b13cd51698884be3799b1ad85d4f67ed143e821156c442c25735481052a59b5d8a3b4449d75 WHIRLPOOL 36d69a3e88b5d162311686ee0a4b5d7856a98f9a6e5955514c3c642b855773bbb9b5753c5c95eb0d749798c5c485bb1ea57db7c72164cf3b8561b16ca1a082c9
DIST glibc-2.23.tar.xz 13455260 SHA256 94efeb00e4603c8546209cefb3e1a50a5315c86fa9b078b6fad758e187ce13e9 SHA512 b82953388cd028e174cb08f082557bbce0dad8b67b17d31b29f90102fd52a51e03d591448ecb64882a1c1d5303afffc7f6ede85cee4c784a9284fbc9b4ad26cf WHIRLPOOL 7c7e3bf55a89a04bac917b9ca5a1cbb1613f22c427d2766f114b5a36f9635856005b823852ef5d3b73462b577fe4e5865e68e7b64633d48a95fa1e5eaa831a71
DIST glibc-2.24-patches-2.tar.bz2 50398 SHA256 1fff0752826b8ab08d6fa115caf2c7fbd3ec2ceffd6c7002499828d8722d546b SHA512 a4c48ebfcf49df0110a43c6afc97be7b3432593b9c4a5aec1b053b69dbca01ee2493584bdd957970e28a9b7e8542ff67cd656150034fbc0b318f2c4295745222 WHIRLPOOL 0fda6d4d936b3598d9026fa1ce2b86833f341919f5c9bd66d95e1a0a5a3e1517d48bb599d48e7bb68e65f6fd439204f57cf678e1984722d5f83faf8083029110
DIST glibc-2.24.tar.xz 13554048 SHA256 99d4a3e8efd144d71488e478f62587578c0f4e1fa0b4eed47ee3d4975ebeb5d3 SHA512 a4cb28a2c51a0cc029ed69da7cba11931a615ba897235590b4f7fad2eaabec9042f8250eaac2a5860997437a69ab13304f10a634000e52c0336b5593b7969adb WHIRLPOOL be82b47fc73f7e780e8e73a5f58b313d8e861d5ea8c4320f95ef0d8c1e125ff011d61dcfc0380be0e83868bd8c3299de1ea662da7fc8d709050e89b2c126e3eb
EBUILD glibc-2.17.ebuild 6859 SHA256 14a43d5fee65d2fcb296f899adb834595c3ca0be01dc132c42186a14502a1a01 SHA512 d126c7e2ce87383b4ee747c3f7f62deecd13a2648aded4fcb9899a44205dfd2a617c7a5a356b433812782de3b362bf6d399a2d274b2d805af22dbf14b91ad287 WHIRLPOOL 165b12fee5cbacc644e6495a297b77705e35e9cc8044d4d4a2fd4c3f15473bc168663ee106cdc4d38bbdfe5fd0d3d2534727dc2bff8560c1b87a98a1eab65b67
EBUILD glibc-2.18-r1.ebuild 6920 SHA256 5d8647c1b1b6e5def5c5692232f1655c76f60ba643a763b0c1328783d5e03130 SHA512 4e96c0303db04e082a48bcbb72674f4f907b601ad8cc0c12dcd34cf67309890cfc42ced882bc4ab5ed45e8ca86dd795b901a833e202d417dd98720cd03770c2b WHIRLPOOL c44eaba3e2725a319995ff152c2ace177aa236bcaa6f56ef8d2eeb9fb64de3ef41b6d3886b38983601bcafecc931f6d6cc12d425fc367dd0378e09008a24bca5
EBUILD glibc-2.19-r1.ebuild 6878 SHA256 b9787f2b1a512aef86ccee41a24b4741bf8a44c42a52489ef29cdd327f7b3ac2 SHA512 abd0c6f17d1158a96b981de37b34dfc7c7b257a7be0e57031f7ec8202beb85543149a3ac4447d4896ab00411a9a3dc0e547832422261289fbffccea201644bf1 WHIRLPOOL 38e472de0c38c7557e376a1b4a8b0c087f2ba6500a790c9ddb63b8a84665276a93a1f36f966368b6623faed7d4c2b9003aaa6293c288659bd90faab328485e3d
EBUILD glibc-2.20-r2.ebuild 6441 SHA256 e6e29f8ef84d2cfca0a08c01a31fc0759dbfea2c5039d56fc1de7b1869b0d891 SHA512 0841339e986f804d093f8604445421ac4032e18b233fa9dc911db00e512f43908fa9351e5baa86d790e9e2b6d9c1e4dbae111f5a48853878b11e749cbc0eb872 WHIRLPOOL 15f62b665c72c6e63ce9ea59a277edfcb94aeebe1fe130c8149ceb79f5da353d96296905def88b4959cb2a6bf4aa3fbda0015cd4dd06dd8ccdea8e5d52e81272
EBUILD glibc-2.21-r2.ebuild 6416 SHA256 384d2c5c88508723052045afce51fed8716b79020033fe160f182af483dfd94f SHA512 ac0de01cbc63c6017e78277de38bb3ef22ec8bf2e16630492d5956976d8920a9f381efce3a86aaa24332dd54421c1e028cccfd0d86b9b9e59ea2d2d5a9a98e90 WHIRLPOOL 01ec17ed723a6747208c90f4656c6e3362157041db8094b8fcc744d6b11c97019eeda5e89fc4dfe95ec8dbf11b46c35979bf4b54d974122b15caf54caca0771f
EBUILD glibc-2.22-r4.ebuild 6468 SHA256 2d21ac88202655384de0dfb6c6b7dcc82d60eaa0c30b9443caf97f2d33cec0d6 SHA512 be923f64331cb3241948c8c1be6295fe6305ede10976af6be04d19556e4db2038446a5456df4ef031a48c6832beb87e8d60423e40389cff75b0032fd12b92898 WHIRLPOOL 8c84ce37c2733e79a5b2cac4ab9833b263fe06da9650c778493b86d174c6c7773753065a63d02c021e40bef3ced37f8af0090c91e214c709dcf1b0a4b3565f1e
EBUILD glibc-2.23-r1.ebuild 6638 SHA256 b3840fbc9f5d0dff20d26b9029d359be5fc3fa27c5ccf33b9e5ef7009a3bae59 SHA512 d97580a4d829abb3449a6c1652df318d501b494ff69c6eb1503b7d5cb1ad3519f6cbbba87b898cb8652a58a852da6c599b5d1a67e6930f9f44f261578f0aefd4 WHIRLPOOL fde770d176d15d27fa8c8819d6769d1dfceda21bbc0249629ffbbf0bea1756055d4e0b5173c9aa87f3508647a0b264a9d1573b5ffcab259ed105ccf62d2f554b
EBUILD glibc-2.23-r2.ebuild 6722 SHA256 51b30178b14a83c8c8e80f8ea373c09951307e450263936ebdb8b509cb0a0d7d SHA512 24c286a14e6cec196b28af470133b6daa4a34592672bd7cec56a0bf870826b2f5c982d27f53f9fa706afef40651c832f320bbec700fe738ebe6e2d7a14d9dceb WHIRLPOOL f1b700e7f58359c23188259409a1ccae779b9410e3eb8b25ebd9252bc05560b1a7a36447ac669bb938d096febe18fc86e53f16697a6089bfc9d7c5f9189c1e23
EBUILD glibc-2.23-r3.ebuild 6362 SHA256 982ac3570ed3fdd7a8a577f8845bf3e178c3b9ff988cde8c04ef6d3109b48272 SHA512 07afcd70154275f0f1a4a93f8b9839542444407582a4f9c9a9781dfa28e2b2e3aa0cd9c7575f632a3e3091f9a5c852fa40243aecd255bdce12791151c6c9b699 WHIRLPOOL 1754ded0b59c2a9b9d901048566b9853c42c3ed60e7b91353b86259a695b45bcf89b928363bd5f032aa00ff0c9f790d574491a4172abf6e2b38d28a5e31a5838
EBUILD glibc-2.24.ebuild 6356 SHA256 6c545c26ffe3d898246d8aef535ba4198d72d35ae04084871459001531fe2032 SHA512 11d45082c72c6d6200be2f27b982a9cb24ab16cc9c9b692eb3e3256851ddfa039f5031231f838e1866dbfae9ffadb238af919dcdf4cebe4c98ace60a2f4b513e WHIRLPOOL b0d97882b369340d7d0afba81fc5042a107bfe5726368eb423619addd738adf0cf4f4ec2bcd34341c80402ff4560dd803756c2750e5ac65102850685241c0416
EBUILD glibc-9999.ebuild 6030 SHA256 c57d4e0feee6aaf0f45087283396e30e7b9f5c9a9e9a906c79354733cb2ff7f8 SHA512 17fe2e11acfd4108f13e92bcae9ea520b408c05a863a5a120852161d80bf24a7a23bbf6bdecb2fee7dbc879ce2a0b15d1a84a3392e7c5c78b45fbbded271d7af WHIRLPOOL 34652ada3a7ee1a28b75680beb794eb4b1ce0f0a4bad6747e712c19126806531f17c15be6ddd0fbe03cd9f45935bff34457fce369a4a96dfe9c4a534cce0f759
MISC metadata.xml 921 SHA256 c01e0edef8cd5db7d721a3abfba19365507f1cb35df4d62b048468fe49b543f7 SHA512 5d4ecf57cf80cbda0dea361d7996ec5df384eee928c07e8e37e25e0ff82577144878492a49b318000b10f51c1ad03b950db7ee5d74e46e96e688b2fcdccfb66a WHIRLPOOL 7024db2e0a3ea6269c9d4158b966c0fda46eee5c7787a7e99b90cfb366ec816843e8849b9390aaec37af05eb530445fa12e0b70dc75ce16277c10c4234d231df

View File

@ -1,315 +0,0 @@
/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Copyright (C) 2006-2008 Gentoo Foundation Inc.
* License terms as above.
*
* Hardened Gentoo SSP and FORTIFY handler
*
* An SSP failure handler that does not use functions from the rest of
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
* no possibility of recursion into the handler.
*
* Direct all bug reports to http://bugs.gentoo.org/
*
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
*
* The following people contributed to the glibc-2.3 Hardened
* Gentoo SSP and FORTIFY handler, from which this implementation draws much:
*
* Ned Ludd - <solar[@]gentoo.org>
* Alexander Gabert - <pappy[@]gentoo.org>
* The PaX Team - <pageexec[@]freemail.hu>
* Peter S. Mazinger - <ps.m[@]gmx.net>
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
* Robert Connolly - <robert[@]linuxfromscratch.org>
* Cory Visi <cory[@]visi.name>
* Mike Frysinger <vapier[@]gentoo.org>
* Magnus Granberg <zorry[@]ume.nu>
*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
#include <alloca.h>
/* from sysdeps */
#include <socketcall.h>
/* for the stuff in bits/socket.h */
#include <sys/socket.h>
#include <sys/un.h>
/* Sanity check on SYSCALL macro names - force compilation
* failure if the names used here do not exist
*/
#if !defined __NR_socketcall && !defined __NR_socket
# error Cannot do syscall socket or socketcall
#endif
#if !defined __NR_socketcall && !defined __NR_connect
# error Cannot do syscall connect or socketcall
#endif
#ifndef __NR_write
# error Cannot do syscall write
#endif
#ifndef __NR_close
# error Cannot do syscall close
#endif
#ifndef __NR_getpid
# error Cannot do syscall getpid
#endif
#ifndef __NR_kill
# error Cannot do syscall kill
#endif
#ifndef __NR_exit
# error Cannot do syscall exit
#endif
#ifdef SSP_SMASH_DUMPS_CORE
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
# if !defined _KERNEL_NSIG && !defined _NSIG
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
# endif
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
# error Cannot do syscall sigaction or rt_sigaction
# endif
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
* some reason.
*/
# ifdef _KERNEL_NSIG
# define _SSP_NSIG _KERNEL_NSIG
# else
# define _SSP_NSIG _NSIG
# endif
#else
# define _SSP_NSIG 0
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
#endif
/* Define DO_SIGACTION - default to newer rt signal interface but
* fallback to old as needed.
*/
#ifdef __NR_rt_sigaction
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
#else
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
#endif
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
#if defined(__NR_socket) && defined(__NR_connect)
# define USE_OLD_SOCKETCALL 0
#else
# define USE_OLD_SOCKETCALL 1
#endif
/* stub out the __NR_'s so we can let gcc optimize away dead code */
#ifndef __NR_socketcall
# define __NR_socketcall 0
#endif
#ifndef __NR_socket
# define __NR_socket 0
#endif
#ifndef __NR_connect
# define __NR_connect 0
#endif
#define DO_SOCKET(result, domain, type, protocol) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = domain; \
socketargs[1] = type; \
socketargs[2] = protocol; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
} else \
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
} while (0)
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = sockfd; \
socketargs[1] = (unsigned long int)serv_addr; \
socketargs[2] = addrlen; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
} else \
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
} while (0)
#ifndef _PATH_LOG
# define _PATH_LOG "/dev/log"
#endif
static const char path_log[] = _PATH_LOG;
/* For building glibc with SSP switched on, define __progname to a
* constant if building for the run-time loader, to avoid pulling
* in more of libc.so into ld.so
*/
#ifdef IS_IN_rtld
static char *__progname = "<rtld>";
#else
extern char *__progname;
#endif
/* Common handler code, used by chk_fail
* Inlined to ensure no self-references to the handler within itself.
* Data static to avoid putting more than necessary on the stack,
* to aid core debugging.
*/
__attribute__ ((__noreturn__ , __always_inline__))
static inline void
__hardened_gentoo_chk_fail(char func[], int damaged)
{
#define MESSAGE_BUFSIZ 256
static pid_t pid;
static int plen, i;
static char message[MESSAGE_BUFSIZ];
static const char msg_ssa[] = ": buffer overflow attack";
static const char msg_inf[] = " in function ";
static const char msg_ssd[] = "*** buffer overflow detected ***: ";
static const char msg_terminated[] = " - terminated\n";
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
static const char msg_unknown[] = "<unknown>";
static int log_socket, connect_result;
static struct sockaddr_un sock;
static unsigned long int socketargs[4];
/* Build socket address
*/
sock.sun_family = AF_UNIX;
i = 0;
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
sock.sun_path[i] = path_log[i];
i++;
}
sock.sun_path[i] = '\0';
/* Try SOCK_DGRAM connection to syslog */
connect_result = -1;
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
if (connect_result == -1) {
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Try SOCK_STREAM connection to syslog */
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
}
/* Build message. Messages are generated both in the old style and new style,
* so that log watchers that are configured for the old-style message continue
* to work.
*/
#define strconcat(str) \
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
{\
message[plen+i]=str[i];\
i++;\
}\
plen+=i;}
/* R.Henderson post-gcc-4 style message */
plen = 0;
strconcat(msg_ssd);
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Dr. Etoh pre-gcc-4 style message */
plen = 0;
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_ssa);
strconcat(msg_inf);
if (func != NULL)
strconcat(func)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Direct reports to bugs.gentoo.org */
plen=0;
strconcat(msg_report);
message[plen++]='\0';
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Suicide */
pid = INLINE_SYSCALL(getpid, 0);
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
static struct sigaction default_abort_act;
/* Remove any user-supplied handler for SIGABRT, before using it */
default_abort_act.sa_handler = SIG_DFL;
default_abort_act.sa_sigaction = NULL;
__sigfillset(&default_abort_act.sa_mask);
default_abort_act.sa_flags = 0;
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
}
/* Note; actions cannot be added to SIGKILL */
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
/* In case the kill didn't work, exit anyway
* The loop prevents gcc thinking this routine returns
*/
while (1)
INLINE_SYSCALL(exit, 0);
}
__attribute__ ((__noreturn__))
void __chk_fail(void)
{
__hardened_gentoo_chk_fail(NULL, 0);
}

View File

@ -1,30 +0,0 @@
Prevent default-fPIE from confusing configure into thinking
PIC code is default. This causes glibc to build both PIC and
non-PIC code as normal, which on the hardened compiler generates
PIC and PIE.
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
Fixed for glibc 2.10 by Magnus Granberg <zorry@ume.nu>
--- configure.in
+++ configure.in
@@ -2145,7 +2145,7 @@
# error PIC is default.
#endif
EOF
-if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
libc_cv_pic_default=no
fi
rm -f conftest.*])
--- configure
+++ configure
@@ -7698,7 +7698,7 @@
# error PIC is default.
#endif
EOF
-if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&5 1>&5"; then
libc_cv_pic_default=no
fi
rm -f conftest.*

View File

@ -1,274 +0,0 @@
When building glibc PIE (which is not something upstream support),
several modifications are necessary to the glibc build process.
First, any syscalls in PIEs must be of the PIC variant, otherwise
textrels ensue. Then, any syscalls made before the initialisation
of the TLS will fail on i386, as the sysenter variant on i386 uses
the TLS, giving rise to a chicken-and-egg situation. This patch
defines a PIC syscall variant that doesn't use sysenter, even when the sysenter
version is normally used, and uses the non-sysenter version for the brk
syscall that is performed by the TLS initialisation. Further, the TLS
initialisation is moved in this case prior to the initialisation of
dl_osversion, as that requires further syscalls.
csu/libc-start.c: Move initial TLS initialization to before the
initialisation of dl_osversion, when INTERNAL_SYSCALL_NOSYSENTER is defined
csu/libc-tls.c: Use the no-sysenter version of sbrk when
INTERNAL_SYSCALL_NOSYSENTER is defined.
misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter
version of brk - if INTERNAL_SYSCALL_NOSYSENTER is defined.
misc/brk.c: Define a no-sysenter version of brk if
INTERNAL_SYSCALL_NOSYSENTER is defined.
sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NOSYSENTER
Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED.
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
Fixed for 2.10 by Magnus Granberg <zorry@ume.nu>
--- csu/libc-start.c
+++ csu/libc-start.c
@@ -28,6 +28,7 @@
extern int __libc_multiple_libcs;
#include <tls.h>
+#include <sysdep.h>
#ifndef SHARED
# include <dl-osinfo.h>
extern void __pthread_initialize_minimal (void);
@@ -129,6 +130,11 @@
# endif
_dl_aux_init (auxvec);
# endif
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
+ /* Do the initial TLS initialization before _dl_osversion,
+ since the latter uses the uname syscall. */
+ __pthread_initialize_minimal ();
+# endif
# ifdef DL_SYSDEP_OSCHECK
if (!__libc_multiple_libcs)
{
@@ -138,10 +144,12 @@
}
# endif
+# ifndef INTERNAL_SYSCALL_NOSYSENTER
/* Initialize the thread library at least a bit since the libgcc
functions are using thread functions if these are available and
we need to setup errno. */
__pthread_initialize_minimal ();
+# endif
/* Set up the stack checker's canary. */
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
--- csu/libc-tls.c
+++ csu/libc-tls.c
@@ -23,6 +23,7 @@
#include <unistd.h>
#include <stdio.h>
#include <sys/param.h>
+#include <sysdep.h>
#ifdef SHARED
@@ -29,6 +30,9 @@
#error makefile bug, this file is for static only
#endif
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
+extern void *__sbrk_nosysenter (intptr_t __delta);
+#endif
extern ElfW(Phdr) *_dl_phdr;
extern size_t _dl_phnum;
@@ -141,14 +145,26 @@
The initialized value of _dl_tls_static_size is provided by dl-open.c
to request some surplus that permits dynamic loading of modules with
- IE-model TLS. */
+ IE-model TLS.
+
+ Where the normal sbrk would use a syscall that needs the TLS (i386)
+ use the special non-sysenter version instead. */
#if TLS_TCB_AT_TP
tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
+ tlsblock = __sbrk_nosysenter (tcb_offset + tcbsize + max_align);
+# else
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
+# endif
#elif TLS_DTV_AT_TP
tcb_offset = roundup (tcbsize, align ?: 1);
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
+ tlsblock = __sbrk_nosysenter (tcb_offset + memsz + max_align
+ + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
+# else
tlsblock = __sbrk (tcb_offset + memsz + max_align
+ TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
+# endif
tlsblock += TLS_PRE_TCB_SIZE;
#else
/* In case a model with a different layout for the TCB and DTV
--- misc/sbrk.c
+++ misc/sbrk.c
@@ -18,6 +18,7 @@
#include <errno.h>
#include <stdint.h>
#include <unistd.h>
+#include <sysdep.h>
/* Defined in brk.c. */
extern void *__curbrk;
@@ -29,6 +30,35 @@
/* Extend the process's data space by INCREMENT.
If INCREMENT is negative, shrink data space by - INCREMENT.
Return start of new space allocated, or -1 for errors. */
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
+/* This version is used by csu/libc-tls.c whem initialising the TLS
+ if the SYSENTER version requires the TLS (which it does on i386).
+ Obviously using the TLS before it is initialised is broken. */
+extern int __brk_nosysenter (void *addr);
+void *
+__sbrk_nosysenter (intptr_t increment)
+{
+ void *oldbrk;
+
+ /* If this is not part of the dynamic library or the library is used
+ via dynamic loading in a statically linked program update
+ __curbrk from the kernel's brk value. That way two separate
+ instances of __brk and __sbrk can share the heap, returning
+ interleaved pieces of it. */
+ if (__curbrk == NULL || __libc_multiple_libcs)
+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */
+ return (void *) -1;
+
+ if (increment == 0)
+ return __curbrk;
+
+ oldbrk = __curbrk;
+ if (__brk_nosysenter (oldbrk + increment) < 0)
+ return (void *) -1;
+
+ return oldbrk;
+}
+#endif
void *
__sbrk (intptr_t increment)
{
--- sysdeps/unix/sysv/linux/i386/brk.c
+++ sysdeps/unix/sysv/linux/i386/brk.c
@@ -31,6 +31,30 @@
linker. */
weak_alias (__curbrk, ___brk_addr)
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
+/* This version is used by csu/libc-tls.c whem initialising the TLS
+ * if the SYSENTER version requires the TLS (which it does on i386).
+ * Obviously using the TLS before it is initialised is broken. */
+int
+__brk_nosysenter (void *addr)
+{
+ void *__unbounded newbrk;
+
+ INTERNAL_SYSCALL_DECL (err);
+ newbrk = (void *__unbounded) INTERNAL_SYSCALL_NOSYSENTER (brk, err, 1,
+ __ptrvalue (addr));
+
+ __curbrk = newbrk;
+
+ if (newbrk < addr)
+ {
+ __set_errno (ENOMEM);
+ return -1;
+ }
+
+ return 0;
+}
+#endif
int
__brk (void *addr)
{
--- sysdeps/unix/sysv/linux/i386/sysdep.h
+++ sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -187,7 +187,7 @@
/* The original calling convention for system calls on Linux/i386 is
to use int $0x80. */
#ifdef I386_USE_SYSENTER
-# ifdef SHARED
+# if defined SHARED || defined __PIC__
# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
# else
# define ENTER_KERNEL call *_dl_sysinfo
@@ -358,7 +358,7 @@
possible to use more than four parameters. */
#undef INTERNAL_SYSCALL
#ifdef I386_USE_SYSENTER
-# ifdef SHARED
+# if defined SHARED || defined __PIC__
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
register unsigned int resultvar; \
@@ -384,6 +384,18 @@
: "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \
ASMFMT_##nr(args) : "memory", "cc"); \
(int) resultvar; })
+# define INTERNAL_SYSCALL_NOSYSENTER(name, err, nr, args...) \
+ ({ \
+ register unsigned int resultvar; \
+ EXTRAVAR_##nr \
+ asm volatile ( \
+ LOADARGS_NOSYSENTER_##nr \
+ "movl %1, %%eax\n\t" \
+ "int $0x80\n\t" \
+ RESTOREARGS_NOSYSENTER_##nr \
+ : "=a" (resultvar) \
+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
+ (int) resultvar; })
# else
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
@@ -447,12 +459,20 @@
#define LOADARGS_0
#ifdef __PIC__
-# if defined I386_USE_SYSENTER && defined SHARED
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
# define LOADARGS_1 \
"bpushl .L__X'%k3, %k3\n\t"
# define LOADARGS_5 \
"movl %%ebx, %4\n\t" \
"movl %3, %%ebx\n\t"
+# define LOADARGS_NOSYSENTER_1 \
+ "bpushl .L__X'%k2, %k2\n\t"
+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1
+# define LOADARGS_NOSYSENTER_3 LOADARGS_3
+# define LOADARGS_NOSYSENTER_4 LOADARGS_3
+# define LOADARGS_NOSYSENTER_5 \
+ "movl %%ebx, %3\n\t" \
+ "movl %2, %%ebx\n\t"
# else
# define LOADARGS_1 \
"bpushl .L__X'%k2, %k2\n\t"
@@ -474,11 +495,18 @@
#define RESTOREARGS_0
#ifdef __PIC__
-# if defined I386_USE_SYSENTER && defined SHARED
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
# define RESTOREARGS_1 \
"bpopl .L__X'%k3, %k3\n\t"
# define RESTOREARGS_5 \
"movl %4, %%ebx"
+# define RESTOREARGS_NOSYSENTER_1 \
+ "bpopl .L__X'%k2, %k2\n\t"
+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1
+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3
+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3
+# define RESTOREARGS_NOSYSENTER_5 \
+ "movl %3, %%ebx"
# else
# define RESTOREARGS_1 \
"bpopl .L__X'%k2, %k2\n\t"

View File

@ -1,42 +0,0 @@
2012-11-11 Magnus Granberg <zorry@gentoo.org>
#442712
* Makeconfig (+link): Set to +link-pie.
(+link-static-before-libc): Change $(static-start-installed-name) to
S$(static-start-installed-name).
(+prector): Set to +prectorS.
(+postctor): Set to +postctorS.
--- libc/Makeconfig
+++ libc/Makeconfig
@@ -447,11 +447,12 @@
$(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit)
endif
++link = $(+link-pie)
# Command for statically linking programs with the C library.
ifndef +link-static
+link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
- $(addprefix $(csu-objpfx),$(static-start-installed-name)) \
+ $(addprefix $(csu-objpfx),S$(static-start-installed-name)) \
$(+preinit) $(+prectorT) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
@@ -549,11 +550,10 @@
ifeq ($(elf),yes)
+preinit = $(addprefix $(csu-objpfx),crti.o)
+postinit = $(addprefix $(csu-objpfx),crtn.o)
-+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
-+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
-# Variants of the two previous definitions for linking PIE programs.
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
++prector = $(+prectorS)
++postctor = $(+postctorS)
# Variants of the two previous definitions for statically linking programs.
+prectorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
+postctorT = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
+interp = $(addprefix $(elf-objpfx),interp.os)
endif
csu-objpfx = $(common-objpfx)csu/

View File

@ -1,314 +0,0 @@
/* Copyright (C) 2004, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Copyright (C) 2006-2013 Gentoo Foundation Inc.
* License terms as above.
*
* Hardened Gentoo SSP and FORTIFY handler
*
* An SSP failure handler that does not use functions from the rest of
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
* no possibility of recursion into the handler.
*
* Direct all bug reports to http://bugs.gentoo.org/
*
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
*
* The following people contributed to the glibc-2.3 Hardened
* Gentoo SSP and FORTIFY handler, from which this implementation draws much:
*
* Ned Ludd - <solar[@]gentoo.org>
* Alexander Gabert - <pappy[@]gentoo.org>
* The PaX Team - <pageexec[@]freemail.hu>
* Peter S. Mazinger - <ps.m[@]gmx.net>
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
* Robert Connolly - <robert[@]linuxfromscratch.org>
* Cory Visi <cory[@]visi.name>
* Mike Frysinger <vapier[@]gentoo.org>
* Magnus Granberg <zorry[@]ume.nu>
*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <kernel-features.h>
#include <alloca.h>
/* from sysdeps */
#include <socketcall.h>
/* for the stuff in bits/socket.h */
#include <sys/socket.h>
#include <sys/un.h>
/* Sanity check on SYSCALL macro names - force compilation
* failure if the names used here do not exist
*/
#if !defined __NR_socketcall && !defined __NR_socket
# error Cannot do syscall socket or socketcall
#endif
#if !defined __NR_socketcall && !defined __NR_connect
# error Cannot do syscall connect or socketcall
#endif
#ifndef __NR_write
# error Cannot do syscall write
#endif
#ifndef __NR_close
# error Cannot do syscall close
#endif
#ifndef __NR_getpid
# error Cannot do syscall getpid
#endif
#ifndef __NR_kill
# error Cannot do syscall kill
#endif
#ifndef __NR_exit
# error Cannot do syscall exit
#endif
#ifdef SSP_SMASH_DUMPS_CORE
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
# if !defined _KERNEL_NSIG && !defined _NSIG
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
# endif
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
# error Cannot do syscall sigaction or rt_sigaction
# endif
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
* some reason.
*/
# ifdef _KERNEL_NSIG
# define _SSP_NSIG _KERNEL_NSIG
# else
# define _SSP_NSIG _NSIG
# endif
#else
# define _SSP_NSIG 0
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
#endif
/* Define DO_SIGACTION - default to newer rt signal interface but
* fallback to old as needed.
*/
#ifdef __NR_rt_sigaction
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
#else
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
#endif
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
#if defined(__NR_socket) && defined(__NR_connect)
# define USE_OLD_SOCKETCALL 0
#else
# define USE_OLD_SOCKETCALL 1
#endif
/* stub out the __NR_'s so we can let gcc optimize away dead code */
#ifndef __NR_socketcall
# define __NR_socketcall 0
#endif
#ifndef __NR_socket
# define __NR_socket 0
#endif
#ifndef __NR_connect
# define __NR_connect 0
#endif
#define DO_SOCKET(result, domain, type, protocol) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = domain; \
socketargs[1] = type; \
socketargs[2] = protocol; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
} else \
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
} while (0)
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = sockfd; \
socketargs[1] = (unsigned long int)serv_addr; \
socketargs[2] = addrlen; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
} else \
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
} while (0)
#ifndef _PATH_LOG
# define _PATH_LOG "/dev/log"
#endif
static const char path_log[] = _PATH_LOG;
/* For building glibc with SSP switched on, define __progname to a
* constant if building for the run-time loader, to avoid pulling
* in more of libc.so into ld.so
*/
#ifdef IS_IN_rtld
static char *__progname = "<rtld>";
#else
extern char *__progname;
#endif
/* Common handler code, used by chk_fail
* Inlined to ensure no self-references to the handler within itself.
* Data static to avoid putting more than necessary on the stack,
* to aid core debugging.
*/
__attribute__ ((__noreturn__ , __always_inline__))
static inline void
__hardened_gentoo_chk_fail(char func[], int damaged)
{
#define MESSAGE_BUFSIZ 256
static pid_t pid;
static int plen, i;
static char message[MESSAGE_BUFSIZ];
static const char msg_ssa[] = ": buffer overflow attack";
static const char msg_inf[] = " in function ";
static const char msg_ssd[] = "*** buffer overflow detected ***: ";
static const char msg_terminated[] = " - terminated\n";
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
static const char msg_unknown[] = "<unknown>";
static int log_socket, connect_result;
static struct sockaddr_un sock;
static unsigned long int socketargs[4];
/* Build socket address
*/
sock.sun_family = AF_UNIX;
i = 0;
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
sock.sun_path[i] = path_log[i];
i++;
}
sock.sun_path[i] = '\0';
/* Try SOCK_DGRAM connection to syslog */
connect_result = -1;
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
if (connect_result == -1) {
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Try SOCK_STREAM connection to syslog */
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
}
/* Build message. Messages are generated both in the old style and new style,
* so that log watchers that are configured for the old-style message continue
* to work.
*/
#define strconcat(str) \
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
{\
message[plen+i]=str[i];\
i++;\
}\
plen+=i;}
/* R.Henderson post-gcc-4 style message */
plen = 0;
strconcat(msg_ssd);
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Dr. Etoh pre-gcc-4 style message */
plen = 0;
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_ssa);
strconcat(msg_inf);
if (func != NULL)
strconcat(func)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Direct reports to bugs.gentoo.org */
plen=0;
strconcat(msg_report);
message[plen++]='\0';
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Suicide */
pid = INLINE_SYSCALL(getpid, 0);
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
static struct sigaction default_abort_act;
/* Remove any user-supplied handler for SIGABRT, before using it */
default_abort_act.sa_handler = SIG_DFL;
default_abort_act.sa_sigaction = NULL;
__sigfillset(&default_abort_act.sa_mask);
default_abort_act.sa_flags = 0;
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
}
/* Note; actions cannot be added to SIGKILL */
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
/* In case the kill didn't work, exit anyway
* The loop prevents gcc thinking this routine returns
*/
while (1)
INLINE_SYSCALL(exit, 0);
}
__attribute__ ((__noreturn__))
void __chk_fail(void)
{
__hardened_gentoo_chk_fail(NULL, 0);
}

View File

@ -1,322 +0,0 @@
/* Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Copyright (C) 2006-2013 Gentoo Foundation Inc.
* License terms as above.
*
* Hardened Gentoo SSP handler
*
* An SSP failure handler that does not use functions from the rest of
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
* no possibility of recursion into the handler.
*
* Direct all bug reports to http://bugs.gentoo.org/
*
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
*
* Fixed to support glibc-2.18 by Magnus Granberg - <zorry[@]gentoo.org>
*
* The following people contributed to the glibc-2.3 Hardened
* Gentoo SSP handler, from which this implementation draws much:
*
* Ned Ludd - <solar[@]gentoo.org>
* Alexander Gabert - <pappy[@]gentoo.org>
* The PaX Team - <pageexec[@]freemail.hu>
* Peter S. Mazinger - <ps.m[@]gmx.net>
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
* Robert Connolly - <robert[@]linuxfromscratch.org>
* Cory Visi <cory[@]visi.name>
* Mike Frysinger <vapier[@]gentoo.org>
*/
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <kernel-features.h>
#include <alloca.h>
/* from sysdeps */
#include <socketcall.h>
/* for the stuff in bits/socket.h */
#include <sys/socket.h>
#include <sys/un.h>
/* Sanity check on SYSCALL macro names - force compilation
* failure if the names used here do not exist
*/
#if !defined __NR_socketcall && !defined __NR_socket
# error Cannot do syscall socket or socketcall
#endif
#if !defined __NR_socketcall && !defined __NR_connect
# error Cannot do syscall connect or socketcall
#endif
#ifndef __NR_write
# error Cannot do syscall write
#endif
#ifndef __NR_close
# error Cannot do syscall close
#endif
#ifndef __NR_getpid
# error Cannot do syscall getpid
#endif
#ifndef __NR_kill
# error Cannot do syscall kill
#endif
#ifndef __NR_exit
# error Cannot do syscall exit
#endif
#ifdef SSP_SMASH_DUMPS_CORE
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
# if !defined _KERNEL_NSIG && !defined _NSIG
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
# endif
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
# error Cannot do syscall sigaction or rt_sigaction
# endif
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
* some reason.
*/
# ifdef _KERNEL_NSIG
# define _SSP_NSIG _KERNEL_NSIG
# else
# define _SSP_NSIG _NSIG
# endif
#else
# define _SSP_NSIG 0
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
#endif
/* Define DO_SIGACTION - default to newer rt signal interface but
* fallback to old as needed.
*/
#ifdef __NR_rt_sigaction
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
#else
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
#endif
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
#if defined(__NR_socket) && defined(__NR_connect)
# define USE_OLD_SOCKETCALL 0
#else
# define USE_OLD_SOCKETCALL 1
#endif
/* stub out the __NR_'s so we can let gcc optimize away dead code */
#ifndef __NR_socketcall
# define __NR_socketcall 0
#endif
#ifndef __NR_socket
# define __NR_socket 0
#endif
#ifndef __NR_connect
# define __NR_connect 0
#endif
#define DO_SOCKET(result, domain, type, protocol) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = domain; \
socketargs[1] = type; \
socketargs[2] = protocol; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
} else \
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
} while (0)
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = sockfd; \
socketargs[1] = (unsigned long int)serv_addr; \
socketargs[2] = addrlen; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
} else \
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
} while (0)
#ifndef _PATH_LOG
# define _PATH_LOG "/dev/log"
#endif
static const char path_log[] = _PATH_LOG;
/* For building glibc with SSP switched on, define __progname to a
* constant if building for the run-time loader, to avoid pulling
* in more of libc.so into ld.so
*/
#ifdef IS_IN_rtld
static char *__progname = "<rtld>";
#else
extern char *__progname;
#endif
/* Common handler code, used by stack_chk_fail and __stack_smash_handler
* Inlined to ensure no self-references to the handler within itself.
* Data static to avoid putting more than necessary on the stack,
* to aid core debugging.
*/
__attribute__ ((__noreturn__ , __always_inline__))
static inline void
__hardened_gentoo_stack_chk_fail(char func[], int damaged)
{
#define MESSAGE_BUFSIZ 256
static pid_t pid;
static int plen, i;
static char message[MESSAGE_BUFSIZ];
static const char msg_ssa[] = ": stack smashing attack";
static const char msg_inf[] = " in function ";
static const char msg_ssd[] = "*** stack smashing detected ***: ";
static const char msg_terminated[] = " - terminated\n";
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
static const char msg_unknown[] = "<unknown>";
static int log_socket, connect_result;
static struct sockaddr_un sock;
static unsigned long int socketargs[4];
/* Build socket address
*/
sock.sun_family = AF_UNIX;
i = 0;
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
sock.sun_path[i] = path_log[i];
i++;
}
sock.sun_path[i] = '\0';
/* Try SOCK_DGRAM connection to syslog */
connect_result = -1;
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
if (connect_result == -1) {
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Try SOCK_STREAM connection to syslog */
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
}
/* Build message. Messages are generated both in the old style and new style,
* so that log watchers that are configured for the old-style message continue
* to work.
*/
#define strconcat(str) \
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
{\
message[plen+i]=str[i];\
i++;\
}\
plen+=i;}
/* R.Henderson post-gcc-4 style message */
plen = 0;
strconcat(msg_ssd);
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Dr. Etoh pre-gcc-4 style message */
plen = 0;
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_ssa);
strconcat(msg_inf);
if (func != NULL)
strconcat(func)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Direct reports to bugs.gentoo.org */
plen=0;
strconcat(msg_report);
message[plen++]='\0';
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Suicide */
pid = INLINE_SYSCALL(getpid, 0);
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
static struct sigaction default_abort_act;
/* Remove any user-supplied handler for SIGABRT, before using it */
default_abort_act.sa_handler = SIG_DFL;
default_abort_act.sa_sigaction = NULL;
__sigfillset(&default_abort_act.sa_mask);
default_abort_act.sa_flags = 0;
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
}
/* Note; actions cannot be added to SIGKILL */
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
/* In case the kill didn't work, exit anyway
* The loop prevents gcc thinking this routine returns
*/
while (1)
INLINE_SYSCALL(exit, 0);
}
__attribute__ ((__noreturn__))
void __stack_chk_fail(void)
{
__hardened_gentoo_stack_chk_fail(NULL, 0);
}
#ifdef ENABLE_OLD_SSP_COMPAT
__attribute__ ((__noreturn__))
void __stack_smash_handler(char func[], int damaged)
{
__hardened_gentoo_stack_chk_fail(func, damaged);
}
#endif

View File

@ -1,277 +0,0 @@
When building glibc PIE (which is not something upstream support),
several modifications are necessary to the glibc build process.
First, any syscalls in PIEs must be of the PIC variant, otherwise
textrels ensue. Then, any syscalls made before the initialisation
of the TLS will fail on i386, as the sysenter variant on i386 uses
the TLS, giving rise to a chicken-and-egg situation. This patch
defines a PIC syscall variant that doesn't use sysenter, even when the sysenter
version is normally used, and uses the non-sysenter version for the brk
syscall that is performed by the TLS initialisation. Further, the TLS
initialisation is moved in this case prior to the initialisation of
dl_osversion, as that requires further syscalls.
csu/libc-start.c: Move initial TLS initialization to before the
initialisation of dl_osversion, when INTERNAL_SYSCALL_NOSYSENTER is defined
csu/libc-tls.c: Use the no-sysenter version of sbrk when
INTERNAL_SYSCALL_NOSYSENTER is defined.
misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter
version of brk - if INTERNAL_SYSCALL_NOSYSENTER is defined.
misc/brk.c: Define a no-sysenter version of brk if
INTERNAL_SYSCALL_NOSYSENTER is defined.
sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_NOSYSENTER
Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED.
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
Fixed for 2.10 by Magnus Granberg <zorry@ume.nu>
Fixed for 2.18 by Magnus Granberg <zorry@gentoo.org>
--- csu/libc-start.c
+++ csu/libc-start.c
@@ -28,6 +28,7 @@
extern int __libc_multiple_libcs;
#include <tls.h>
+#include <sysdep.h>
#ifndef SHARED
# include <dl-osinfo.h>
extern void __pthread_initialize_minimal (void);
@@ -170,7 +170,11 @@ LIBC_START_MAIN (int (*main) (int, char
GL(dl_phnum) = __ehdr_start.e_phnum;
}
}
-
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
+ /* Do the initial TLS initialization before _dl_osversion,
+ since the latter uses the uname syscall. */
+ __pthread_initialize_minimal ();
+# endif
# ifdef DL_SYSDEP_OSCHECK
if (!__libc_multiple_libcs)
{
@@ -138,10 +144,12 @@
}
# endif
+# ifndef INTERNAL_SYSCALL_NOSYSENTER
/* Initialize the thread library at least a bit since the libgcc
functions are using thread functions if these are available and
we need to setup errno. */
__pthread_initialize_minimal ();
+# endif
/* Set up the stack checker's canary. */
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
--- csu/libc-tls.c
+++ csu/libc-tls.c
@@ -22,14 +22,17 @@
#include <unistd.h>
#include <stdio.h>
#include <sys/param.h>
-
+#include <sysdep.h>
#ifdef SHARED
#error makefile bug, this file is for static only
#endif
-dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
+extern void *__sbrk_nosysenter (intptr_t __delta);
+#endif
+dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
static struct
{
@@ -139,14 +142,26 @@ __libc_setup_tls (size_t tcbsize, size_t
The initialized value of _dl_tls_static_size is provided by dl-open.c
to request some surplus that permits dynamic loading of modules with
- IE-model TLS. */
+ IE-model TLS.
+
+ Where the normal sbrk would use a syscall that needs the TLS (i386)
+ use the special non-sysenter version instead. */
#if TLS_TCB_AT_TP
tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
+ tlsblock = __sbrk_nosysenter (tcb_offset + tcbsize + max_align);
+# else
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
+#endif
#elif TLS_DTV_AT_TP
tcb_offset = roundup (tcbsize, align ?: 1);
+# ifdef INTERNAL_SYSCALL_NOSYSENTER
+ tlsblock = __sbrk_nosysenter (tcb_offset + memsz + max_align
+ + TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
+# else
tlsblock = __sbrk (tcb_offset + memsz + max_align
+ TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
+#endif
tlsblock += TLS_PRE_TCB_SIZE;
#else
/* In case a model with a different layout for the TCB and DTV
--- misc/sbrk.c
+++ misc/sbrk.c
@@ -18,6 +18,7 @@
#include <errno.h>
#include <stdint.h>
#include <unistd.h>
+#include <sysdep.h>
/* Defined in brk.c. */
extern void *__curbrk;
@@ -29,6 +30,35 @@
/* Extend the process's data space by INCREMENT.
If INCREMENT is negative, shrink data space by - INCREMENT.
Return start of new space allocated, or -1 for errors. */
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
+/* This version is used by csu/libc-tls.c whem initialising the TLS
+ if the SYSENTER version requires the TLS (which it does on i386).
+ Obviously using the TLS before it is initialised is broken. */
+extern int __brk_nosysenter (void *addr);
+void *
+__sbrk_nosysenter (intptr_t increment)
+{
+ void *oldbrk;
+
+ /* If this is not part of the dynamic library or the library is used
+ via dynamic loading in a statically linked program update
+ __curbrk from the kernel's brk value. That way two separate
+ instances of __brk and __sbrk can share the heap, returning
+ interleaved pieces of it. */
+ if (__curbrk == NULL || __libc_multiple_libcs)
+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */
+ return (void *) -1;
+
+ if (increment == 0)
+ return __curbrk;
+
+ oldbrk = __curbrk;
+ if (__brk_nosysenter (oldbrk + increment) < 0)
+ return (void *) -1;
+
+ return oldbrk;
+}
+#endif
void *
__sbrk (intptr_t increment)
{
--- sysdeps/unix/sysv/linux/i386/brk.c
+++ sysdeps/unix/sysv/linux/i386/brk.c
@@ -31,6 +31,29 @@
linker. */
weak_alias (__curbrk, ___brk_addr)
+#ifdef INTERNAL_SYSCALL_NOSYSENTER
+/* This version is used by csu/libc-tls.c whem initialising the TLS
+ * if the SYSENTER version requires the TLS (which it does on i386).
+ * Obviously using the TLS before it is initialised is broken. */
+int
+__brk_nosysenter (void *addr)
+{
+ void * newbrk;
+
+ INTERNAL_SYSCALL_DECL (err);
+ newbrk = (void *) INTERNAL_SYSCALL_NOSYSENTER (brk, err, 1, addr);
+
+ __curbrk = newbrk;
+
+ if (newbrk < addr)
+ {
+ __set_errno (ENOMEM);
+ return -1;
+ }
+
+ return 0;
+}
+#endif
int
__brk (void *addr)
{
--- sysdeps/unix/sysv/linux/i386/sysdep.h
+++ sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -187,7 +187,7 @@
/* The original calling convention for system calls on Linux/i386 is
to use int $0x80. */
#ifdef I386_USE_SYSENTER
-# ifdef SHARED
+# if defined SHARED || defined __PIC__
# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
# else
# define ENTER_KERNEL call *_dl_sysinfo
@@ -358,7 +358,7 @@
possible to use more than four parameters. */
#undef INTERNAL_SYSCALL
#ifdef I386_USE_SYSENTER
-# ifdef SHARED
+# if defined SHARED || defined __PIC__
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
register unsigned int resultvar; \
@@ -384,6 +384,18 @@
: "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \
ASMFMT_##nr(args) : "memory", "cc"); \
(int) resultvar; })
+# define INTERNAL_SYSCALL_NOSYSENTER(name, err, nr, args...) \
+ ({ \
+ register unsigned int resultvar; \
+ EXTRAVAR_##nr \
+ asm volatile ( \
+ LOADARGS_NOSYSENTER_##nr \
+ "movl %1, %%eax\n\t" \
+ "int $0x80\n\t" \
+ RESTOREARGS_NOSYSENTER_##nr \
+ : "=a" (resultvar) \
+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
+ (int) resultvar; })
# else
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
@@ -447,12 +459,20 @@
#define LOADARGS_0
#ifdef __PIC__
-# if defined I386_USE_SYSENTER && defined SHARED
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
# define LOADARGS_1 \
"bpushl .L__X'%k3, %k3\n\t"
# define LOADARGS_5 \
"movl %%ebx, %4\n\t" \
"movl %3, %%ebx\n\t"
+# define LOADARGS_NOSYSENTER_1 \
+ "bpushl .L__X'%k2, %k2\n\t"
+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1
+# define LOADARGS_NOSYSENTER_3 LOADARGS_3
+# define LOADARGS_NOSYSENTER_4 LOADARGS_3
+# define LOADARGS_NOSYSENTER_5 \
+ "movl %%ebx, %3\n\t" \
+ "movl %2, %%ebx\n\t"
# else
# define LOADARGS_1 \
"bpushl .L__X'%k2, %k2\n\t"
@@ -474,11 +495,18 @@
#define RESTOREARGS_0
#ifdef __PIC__
-# if defined I386_USE_SYSENTER && defined SHARED
+# if defined I386_USE_SYSENTER && ( defined SHARED || defined __PIC__ )
# define RESTOREARGS_1 \
"bpopl .L__X'%k3, %k3\n\t"
# define RESTOREARGS_5 \
"movl %4, %%ebx"
+# define RESTOREARGS_NOSYSENTER_1 \
+ "bpopl .L__X'%k2, %k2\n\t"
+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1
+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3
+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3
+# define RESTOREARGS_NOSYSENTER_5 \
+ "movl %3, %%ebx"
# else
# define RESTOREARGS_1 \
"bpopl .L__X'%k2, %k2\n\t"

View File

@ -1,30 +0,0 @@
Prevent default-fPIE from confusing configure into thinking
PIC code is default. This causes glibc to build both PIC and
non-PIC code as normal, which on the hardened compiler generates
PIC and PIE.
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
Fixed for glibc 2.19 by Magnus Granberg <zorry@ume.nu>
--- configure.ac
+++ configure.ac
@@ -2145,7 +2145,7 @@
# error PIC is default.
#endif
EOF
-if eval "${CC-cc} -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&AS_MESSAGE_LOG_FD 1>&AS_MESSAGE_LOG_FD"; then
libc_cv_pic_default=no
fi
rm -f conftest.*])
--- configure
+++ configure
@@ -7698,7 +7698,7 @@
# error PIC is default.
#endif
EOF
-if eval "${CC-cc} -S conftest.c 2>&5 1>&5"; then
+if eval "${CC-cc} -fno-PIE -S conftest.c 2>&5 1>&5"; then
libc_cv_pic_default=no
fi
rm -f conftest.*

View File

@ -1,32 +0,0 @@
https://bugs.gentoo.org/503838
http://gcc.gnu.org/PR60465
https://sourceware.org/ml/libc-alpha/2015-12/msg00556.html
https://trofi.github.io/posts/189-glibc-on-ia64-or-how-relocations-bootstrap.html
newer versions of gcc generate relocations in the elf_get_dynamic_info func
which glibc relies on to populate some info structs. those structs are then
used by ldso to process relocations in itself. glibc requires that there are
no relocations until that point (*after* elf_get_dynamic_info), so we end up
crashing during elf_get_dynamic_info because the relocation has not yet been
processed.
this hack shuffles the code in a way that tricks gcc into not generating the
relocation. we need to figure out something better for upstream.
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -66,8 +66,12 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
info[DT_VALTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
+ DT_VERSIONTAGNUM + DT_EXTRANUM] = dyn;
else if ((d_tag_utype) DT_ADDRTAGIDX (dyn->d_tag) < DT_ADDRNUM)
- info[DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
- + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM] = dyn;
+ {
+ d_tag_utype i =
+ DT_ADDRTAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM
+ + DT_VERSIONTAGNUM + DT_EXTRANUM + DT_VALNUM;
+ info[i] = dyn;
+ }
++dyn;
}

View File

@ -1,299 +0,0 @@
/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
Copyright (C) 2006-2014 Gentoo Foundation Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Hardened Gentoo SSP and FORTIFY handler
A failure handler that does not use functions from the rest of glibc;
it uses the INTERNAL_SYSCALL methods directly. This helps ensure no
possibility of recursion into the handler.
Direct all bug reports to http://bugs.gentoo.org/
People who have contributed significantly to the evolution of this file:
Ned Ludd - <solar[@]gentoo.org>
Alexander Gabert - <pappy[@]gentoo.org>
The PaX Team - <pageexec[@]freemail.hu>
Peter S. Mazinger - <ps.m[@]gmx.net>
Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
Robert Connolly - <robert[@]linuxfromscratch.org>
Cory Visi <cory[@]visi.name>
Mike Frysinger <vapier[@]gentoo.org>
Magnus Granberg <zorry[@]gentoo.org>
Kevin F. Quinn - <kevquinn[@]gentoo.org>
*/
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <kernel-features.h>
#include <alloca.h>
/* from sysdeps */
#include <socketcall.h>
/* for the stuff in bits/socket.h */
#include <sys/socket.h>
#include <sys/un.h>
/* Sanity check on SYSCALL macro names - force compilation
* failure if the names used here do not exist
*/
#if !defined __NR_socketcall && !defined __NR_socket
# error Cannot do syscall socket or socketcall
#endif
#if !defined __NR_socketcall && !defined __NR_connect
# error Cannot do syscall connect or socketcall
#endif
#ifndef __NR_write
# error Cannot do syscall write
#endif
#ifndef __NR_close
# error Cannot do syscall close
#endif
#ifndef __NR_getpid
# error Cannot do syscall getpid
#endif
#ifndef __NR_kill
# error Cannot do syscall kill
#endif
#ifndef __NR_exit
# error Cannot do syscall exit
#endif
#ifdef SSP_SMASH_DUMPS_CORE
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
# if !defined _KERNEL_NSIG && !defined _NSIG
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
# endif
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
# error Cannot do syscall sigaction or rt_sigaction
# endif
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
* some reason.
*/
# ifdef _KERNEL_NSIG
# define _SSP_NSIG _KERNEL_NSIG
# else
# define _SSP_NSIG _NSIG
# endif
#else
# define _SSP_NSIG 0
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
#endif
/* Define DO_SIGACTION - default to newer rt signal interface but
* fallback to old as needed.
*/
#ifdef __NR_rt_sigaction
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
#else
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
#endif
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
#if defined(__NR_socket) && defined(__NR_connect)
# define USE_OLD_SOCKETCALL 0
#else
# define USE_OLD_SOCKETCALL 1
#endif
/* stub out the __NR_'s so we can let gcc optimize away dead code */
#ifndef __NR_socketcall
# define __NR_socketcall 0
#endif
#ifndef __NR_socket
# define __NR_socket 0
#endif
#ifndef __NR_connect
# define __NR_connect 0
#endif
#define DO_SOCKET(result, domain, type, protocol) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = domain; \
socketargs[1] = type; \
socketargs[2] = protocol; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
} else \
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
} while (0)
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = sockfd; \
socketargs[1] = (unsigned long int)serv_addr; \
socketargs[2] = addrlen; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
} else \
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
} while (0)
#ifndef _PATH_LOG
# define _PATH_LOG "/dev/log"
#endif
static const char path_log[] = _PATH_LOG;
/* For building glibc with SSP switched on, define __progname to a
* constant if building for the run-time loader, to avoid pulling
* in more of libc.so into ld.so
*/
#ifdef IS_IN_rtld
static const char *__progname = "<ldso>";
#else
extern const char *__progname;
#endif
#ifdef GENTOO_SSP_HANDLER
# define ERROR_MSG "stack smashing"
#else
# define ERROR_MSG "buffer overflow"
#endif
/* Common handler code, used by chk_fail
* Inlined to ensure no self-references to the handler within itself.
* Data static to avoid putting more than necessary on the stack,
* to aid core debugging.
*/
__attribute__ ((__noreturn__, __always_inline__))
static inline void
__hardened_gentoo_fail(void)
{
#define MESSAGE_BUFSIZ 512
static pid_t pid;
static int plen, i, hlen;
static char message[MESSAGE_BUFSIZ];
/* <11> is LOG_USER|LOG_ERR. A dummy date for loggers to skip over. */
static const char msg_header[] = "<11>" __DATE__ " " __TIME__ " glibc-gentoo-hardened-check: ";
static const char msg_ssd[] = "*** " ERROR_MSG " detected ***: ";
static const char msg_terminated[] = " terminated; ";
static const char msg_report[] = "report to " REPORT_BUGS_TO "\n";
static const char msg_unknown[] = "<unknown>";
static int log_socket, connect_result;
static struct sockaddr_un sock;
static unsigned long int socketargs[4];
/* Build socket address */
sock.sun_family = AF_UNIX;
i = 0;
while (path_log[i] != '\0' && i < sizeof(sock.sun_path) - 1) {
sock.sun_path[i] = path_log[i];
++i;
}
sock.sun_path[i] = '\0';
/* Try SOCK_DGRAM connection to syslog */
connect_result = -1;
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
if (connect_result == -1) {
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Try SOCK_STREAM connection to syslog */
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
}
/* Build message. Messages are generated both in the old style and new style,
* so that log watchers that are configured for the old-style message continue
* to work.
*/
#define strconcat(str) \
({ \
i = 0; \
while ((str[i] != '\0') && ((i + plen) < (MESSAGE_BUFSIZ - 1))) { \
message[plen + i] = str[i]; \
++i; \
} \
plen += i; \
})
/* Tersely log the failure */
plen = 0;
strconcat(msg_header);
hlen = plen;
strconcat(msg_ssd);
if (__progname != NULL)
strconcat(__progname);
else
strconcat(msg_unknown);
strconcat(msg_terminated);
strconcat(msg_report);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message + hlen, plen - hlen);
if (connect_result != -1) {
INLINE_SYSCALL(write, 3, log_socket, message, plen);
INLINE_SYSCALL(close, 1, log_socket);
}
/* Time to kill self since we have no idea what is going on */
pid = INLINE_SYSCALL(getpid, 0);
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
/* Remove any user-supplied handler for SIGABRT, before using it. */
#if 0
/*
* Note: Disabled because some programs catch & process their
* own crashes. We've already enabled this code path which
* means we want to let core dumps happen.
*/
static struct sigaction default_abort_act;
default_abort_act.sa_handler = SIG_DFL;
default_abort_act.sa_sigaction = NULL;
__sigfillset(&default_abort_act.sa_mask);
default_abort_act.sa_flags = 0;
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
#endif
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
}
/* SIGKILL is only signal which cannot be caught */
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
/* In case the kill didn't work, exit anyway.
* The loop prevents gcc thinking this routine returns.
*/
while (1)
INLINE_SYSCALL(exit, 1, 137);
}
__attribute__ ((__noreturn__))
#ifdef GENTOO_SSP_HANDLER
void __stack_chk_fail(void)
#else
void __chk_fail(void)
#endif
{
__hardened_gentoo_fail();
}

View File

@ -1,2 +0,0 @@
#define GENTOO_SSP_HANDLER
#include <debug/chk_fail.c>

View File

@ -1,306 +0,0 @@
When building glibc PIE (which is not something upstream support),
several modifications are necessary to the glibc build process.
First, any syscalls in PIEs must be of the PIC variant, otherwise
textrels ensue. Then, any syscalls made before the initialisation
of the TLS will fail on i386, as the sysenter variant on i386 uses
the TLS, giving rise to a chicken-and-egg situation. This patch
defines a PIC syscall variant that doesn't use sysenter, even when the sysenter
version is normally used, and uses the non-sysenter version for the brk
syscall that is performed by the TLS initialisation. Further, the TLS
initialisation is moved in this case prior to the initialisation of
dl_osversion, as that requires further syscalls.
csu/libc-start.c: Move initial TLS initialization to before the
initialisation of dl_osversion, when INTERNAL_SYSCALL_PRE_TLS is defined
csu/libc-tls.c: Use the no-sysenter version of sbrk when
INTERNAL_SYSCALL_PRE_TLS is defined.
misc/sbrk.c: Define a no-sysenter version of sbrk, using the no-sysenter
version of brk - if INTERNAL_SYSCALL_PRE_TLS is defined.
misc/brk.c: Define a no-sysenter version of brk if
INTERNAL_SYSCALL_PRE_TLS is defined.
sysdeps/unix/sysv/linux/i386/sysdep.h: Define INTERNAL_SYSCALL_PRE_TLS
Make INTERNAL_SYSCALL always use the PIC variant, even if not SHARED.
Patch by Kevin F. Quinn <kevquinn@gentoo.org>
Fixed for 2.10 by Magnus Granberg <zorry@ume.nu>
Fixed for 2.18 by Magnus Granberg <zorry@gentoo.org>
Fixed for 2.20 by Francisco Blas Izquierdo Riera <klondike@gentoo.org>
--- a/csu/libc-start.c
+++ b/csu/libc-start.c
@@ -28,6 +28,7 @@
extern int __libc_multiple_libcs;
#include <tls.h>
+#include <sysdep.h>
#ifndef SHARED
# include <dl-osinfo.h>
extern void __pthread_initialize_minimal (void);
@@ -170,6 +171,11 @@ LIBC_START_MAIN (int (*main) (int, char
}
}
+# ifdef INTERNAL_SYSCALL_PRE_TLS
+ /* Do the initial TLS initialization before _dl_osversion,
+ since the latter uses the uname syscall. */
+ __pthread_initialize_minimal ();
+# endif
# ifdef DL_SYSDEP_OSCHECK
if (!__libc_multiple_libcs)
{
@@ -138,10 +144,12 @@
}
# endif
+# ifndef INTERNAL_SYSCALL_PRE_TLS
/* Initialize the thread library at least a bit since the libgcc
functions are using thread functions if these are available and
we need to setup errno. */
__pthread_initialize_minimal ();
+# endif
/* Set up the stack checker's canary. */
uintptr_t stack_chk_guard = _dl_setup_stack_chk_guard ();
--- a/csu/libc-tls.c
+++ b/csu/libc-tls.c
@@ -22,12 +22,17 @@
#include <unistd.h>
#include <stdio.h>
#include <sys/param.h>
+#include <sysdep.h>
#ifdef SHARED
#error makefile bug, this file is for static only
#endif
+#ifdef INTERNAL_SYSCALL_PRE_TLS
+extern void *__sbrk_nosysenter (intptr_t __delta);
+#endif
+
dtv_t _dl_static_dtv[2 + TLS_SLOTINFO_SURPLUS];
@@ -139,20 +144,29 @@ __libc_setup_tls (size_t tcbsize, size_t
The initialized value of _dl_tls_static_size is provided by dl-open.c
to request some surplus that permits dynamic loading of modules with
- IE-model TLS. */
+ IE-model TLS.
+
+ Where the normal sbrk would use a syscall that needs the TLS (i386)
+ use the special non-sysenter version instead. */
+#ifdef INTERNAL_SYSCALL_PRE_TLS
+# define __sbrk __sbrk_nosysenter
+#endif
#if TLS_TCB_AT_TP
tcb_offset = roundup (memsz + GL(dl_tls_static_size), tcbalign);
tlsblock = __sbrk (tcb_offset + tcbsize + max_align);
#elif TLS_DTV_AT_TP
tcb_offset = roundup (tcbsize, align ?: 1);
tlsblock = __sbrk (tcb_offset + memsz + max_align
+ TLS_PRE_TCB_SIZE + GL(dl_tls_static_size));
tlsblock += TLS_PRE_TCB_SIZE;
#else
/* In case a model with a different layout for the TCB and DTV
is defined add another #elif here and in the following #ifs. */
# error "Either TLS_TCB_AT_TP or TLS_DTV_AT_TP must be defined"
#endif
+#ifdef INTERNAL_SYSCALL_PRE_TLS
+# undef __sbrk
+#endif
/* Align the TLS block. */
tlsblock = (void *) (((uintptr_t) tlsblock + max_align - 1)
--- a/misc/sbrk.c
+++ b/misc/sbrk.c
@@ -18,6 +18,7 @@
#include <errno.h>
#include <stdint.h>
#include <unistd.h>
+#include <sysdep.h>
/* Defined in brk.c. */
extern void *__curbrk;
@@ -29,6 +30,35 @@
/* Extend the process's data space by INCREMENT.
If INCREMENT is negative, shrink data space by - INCREMENT.
Return start of new space allocated, or -1 for errors. */
+#ifdef INTERNAL_SYSCALL_PRE_TLS
+/* This version is used by csu/libc-tls.c whem initialising the TLS
+ if the SYSENTER version requires the TLS (which it does on i386).
+ Obviously using the TLS before it is initialised is broken. */
+extern int __brk_nosysenter (void *addr);
+void *
+__sbrk_nosysenter (intptr_t increment)
+{
+ void *oldbrk;
+
+ /* If this is not part of the dynamic library or the library is used via
+ dynamic loading in a statically linked program update __curbrk from the
+ kernel's brk value. That way two separate instances of __brk and __sbrk
+ can share the heap, returning interleaved pieces of it. */
+ if (__curbrk == NULL || __libc_multiple_libcs)
+ if (__brk_nosysenter (0) < 0) /* Initialize the break. */
+ return (void *) -1;
+
+ if (increment == 0)
+ return __curbrk;
+
+ oldbrk = __curbrk;
+ if (__brk_nosysenter (oldbrk + increment) < 0)
+ return (void *) -1;
+
+ return oldbrk;
+}
+#endif
+
void *
__sbrk (intptr_t increment)
{
--- a/sysdeps/unix/sysv/linux/i386/brk.c
+++ b/sysdeps/unix/sysv/linux/i386/brk.c
@@ -31,6 +31,30 @@
linker. */
weak_alias (__curbrk, ___brk_addr)
+#ifdef INTERNAL_SYSCALL_PRE_TLS
+/* This version is used by csu/libc-tls.c whem initialising the TLS
+ if the SYSENTER version requires the TLS (which it does on i386).
+ Obviously using the TLS before it is initialised is broken. */
+int
+__brk_nosysenter (void *addr)
+{
+ void *newbrk;
+
+ INTERNAL_SYSCALL_DECL (err);
+ newbrk = (void *) INTERNAL_SYSCALL_PRE_TLS (brk, err, 1, addr);
+
+ __curbrk = newbrk;
+
+ if (newbrk < addr)
+ {
+ __set_errno (ENOMEM);
+ return -1;
+ }
+
+ return 0;
+}
+#endif
+
int
__brk (void *addr)
{
--- a/sysdeps/unix/sysv/linux/i386/sysdep.h
+++ b/sysdeps/unix/sysv/linux/i386/sysdep.h
@@ -187,7 +187,7 @@
/* The original calling convention for system calls on Linux/i386 is
to use int $0x80. */
#ifdef I386_USE_SYSENTER
-# ifdef SHARED
+# ifdef __PIC__
# define ENTER_KERNEL call *%gs:SYSINFO_OFFSET
# else
# define ENTER_KERNEL call *_dl_sysinfo
@@ -358,7 +358,7 @@
possible to use more than four parameters. */
#undef INTERNAL_SYSCALL
#ifdef I386_USE_SYSENTER
-# ifdef SHARED
+# ifdef __PIC__
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
register unsigned int resultvar; \
@@ -384,6 +384,18 @@
: "0" (name), "i" (offsetof (tcbhead_t, sysinfo)) \
ASMFMT_##nr(args) : "memory", "cc"); \
(int) resultvar; })
+# define INTERNAL_SYSCALL_PRE_TLS(name, err, nr, args...) \
+ ({ \
+ register unsigned int resultvar; \
+ EXTRAVAR_##nr \
+ asm volatile ( \
+ LOADARGS_NOSYSENTER_##nr \
+ "movl %1, %%eax\n\t" \
+ "int $0x80\n\t" \
+ RESTOREARGS_NOSYSENTER_##nr \
+ : "=a" (resultvar) \
+ : "i" (__NR_##name) ASMFMT_##nr(args) : "memory", "cc"); \
+ (int) resultvar; })
# else
# define INTERNAL_SYSCALL(name, err, nr, args...) \
({ \
@@ -447,12 +459,20 @@
#define LOADARGS_0
#ifdef __PIC__
-# if defined I386_USE_SYSENTER && defined SHARED
+# if defined I386_USE_SYSENTER && defined __PIC__
# define LOADARGS_1 \
"bpushl .L__X'%k3, %k3\n\t"
# define LOADARGS_5 \
"movl %%ebx, %4\n\t" \
"movl %3, %%ebx\n\t"
+# define LOADARGS_NOSYSENTER_1 \
+ "bpushl .L__X'%k2, %k2\n\t"
+# define LOADARGS_NOSYSENTER_2 LOADARGS_NOSYSENTER_1
+# define LOADARGS_NOSYSENTER_3 LOADARGS_3
+# define LOADARGS_NOSYSENTER_4 LOADARGS_3
+# define LOADARGS_NOSYSENTER_5 \
+ "movl %%ebx, %3\n\t" \
+ "movl %2, %%ebx\n\t"
# else
# define LOADARGS_1 \
"bpushl .L__X'%k2, %k2\n\t"
@@ -474,11 +494,18 @@
#define RESTOREARGS_0
#ifdef __PIC__
-# if defined I386_USE_SYSENTER && defined SHARED
+# if defined I386_USE_SYSENTER && defined __PIC__
# define RESTOREARGS_1 \
"bpopl .L__X'%k3, %k3\n\t"
# define RESTOREARGS_5 \
"movl %4, %%ebx"
+# define RESTOREARGS_NOSYSENTER_1 \
+ "bpopl .L__X'%k2, %k2\n\t"
+# define RESTOREARGS_NOSYSENTER_2 RESTOREARGS_NOSYSENTER_1
+# define RESTOREARGS_NOSYSENTER_3 RESTOREARGS_3
+# define RESTOREARGS_NOSYSENTER_4 RESTOREARGS_3
+# define RESTOREARGS_NOSYSENTER_5 \
+ "movl %3, %%ebx"
# else
# define RESTOREARGS_1 \
"bpopl .L__X'%k2, %k2\n\t"
--- a/sysdeps/i386/nptl/tls.h
+++ b/sysdeps/i386/nptl/tls.h
@@ -189,6 +189,15 @@
desc->vals[3] = 0x51;
}
+/* We have no sysenter until the tls is initialized which is a
+ problem for PIC. Thus we need to do the right call depending
+ on the situation. */
+#ifndef INTERNAL_SYSCALL_PRE_TLS
+# define TLS_INIT_SYSCALL INTERNAL_SYSCALL
+#else
+# define TLS_INIT_SYSCALL INTERNAL_SYSCALL_PRE_TLS
+#endif
+
/* Code to initially initialize the thread pointer. This might need
special attention since 'errno' is not yet available and if the
operation can cause a failure 'errno' must not be touched. */
@@ -209,7 +218,7 @@
\
/* Install the TLS. */ \
INTERNAL_SYSCALL_DECL (err); \
- _result = INTERNAL_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \
+ _result = TLS_INIT_SYSCALL (set_thread_area, err, 1, &_segdescr.desc); \
\
if (_result == 0) \
/* We know the index in the GDT, now load the segment register. \

View File

@ -1,321 +0,0 @@
/* Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/* Copyright (C) 2006-2007 Gentoo Foundation Inc.
* License terms as above.
*
* Hardened Gentoo SSP handler
*
* An SSP failure handler that does not use functions from the rest of
* glibc; it uses the INTERNAL_SYSCALL methods directly. This ensures
* no possibility of recursion into the handler.
*
* Direct all bug reports to http://bugs.gentoo.org/
*
* Re-written from the glibc-2.3 Hardened Gentoo SSP handler
* by Kevin F. Quinn - <kevquinn[@]gentoo.org>
*
* The following people contributed to the glibc-2.3 Hardened
* Gentoo SSP handler, from which this implementation draws much:
*
* Ned Ludd - <solar[@]gentoo.org>
* Alexander Gabert - <pappy[@]gentoo.org>
* The PaX Team - <pageexec[@]freemail.hu>
* Peter S. Mazinger - <ps.m[@]gmx.net>
* Yoann Vandoorselaere - <yoann[@]prelude-ids.org>
* Robert Connolly - <robert[@]linuxfromscratch.org>
* Cory Visi <cory[@]visi.name>
* Mike Frysinger <vapier[@]gentoo.org>
*/
#include <errno.h>
#include <stdlib.h>
#include <unistd.h>
#include <signal.h>
#include <sys/types.h>
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
#include <alloca.h>
/* from sysdeps */
#include <socketcall.h>
/* for the stuff in bits/socket.h */
#include <sys/socket.h>
#include <sys/un.h>
/* Sanity check on SYSCALL macro names - force compilation
* failure if the names used here do not exist
*/
#if !defined __NR_socketcall && !defined __NR_socket
# error Cannot do syscall socket or socketcall
#endif
#if !defined __NR_socketcall && !defined __NR_connect
# error Cannot do syscall connect or socketcall
#endif
#ifndef __NR_write
# error Cannot do syscall write
#endif
#ifndef __NR_close
# error Cannot do syscall close
#endif
#ifndef __NR_getpid
# error Cannot do syscall getpid
#endif
#ifndef __NR_kill
# error Cannot do syscall kill
#endif
#ifndef __NR_exit
# error Cannot do syscall exit
#endif
#ifdef SSP_SMASH_DUMPS_CORE
# define ENABLE_SSP_SMASH_DUMPS_CORE 1
# if !defined _KERNEL_NSIG && !defined _NSIG
# error No _NSIG or _KERNEL_NSIG for rt_sigaction
# endif
# if !defined __NR_sigaction && !defined __NR_rt_sigaction
# error Cannot do syscall sigaction or rt_sigaction
# endif
/* Although rt_sigaction expects sizeof(sigset_t) - it expects the size
* of the _kernel_ sigset_t which is not the same as the user sigset_t.
* Most arches have this as _NSIG bits - mips has _KERNEL_NSIG bits for
* some reason.
*/
# ifdef _KERNEL_NSIG
# define _SSP_NSIG _KERNEL_NSIG
# else
# define _SSP_NSIG _NSIG
# endif
#else
# define _SSP_NSIG 0
# define ENABLE_SSP_SMASH_DUMPS_CORE 0
#endif
/* Define DO_SIGACTION - default to newer rt signal interface but
* fallback to old as needed.
*/
#ifdef __NR_rt_sigaction
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(rt_sigaction, 4, signum, act, oldact, _SSP_NSIG/8)
#else
# define DO_SIGACTION(signum, act, oldact) \
INLINE_SYSCALL(sigaction, 3, signum, act, oldact)
#endif
/* Define DO_SOCKET/DO_CONNECT functions to deal with socketcall vs socket/connect */
#if defined(__NR_socket) && defined(__NR_connect)
# define USE_OLD_SOCKETCALL 0
#else
# define USE_OLD_SOCKETCALL 1
#endif
/* stub out the __NR_'s so we can let gcc optimize away dead code */
#ifndef __NR_socketcall
# define __NR_socketcall 0
#endif
#ifndef __NR_socket
# define __NR_socket 0
#endif
#ifndef __NR_connect
# define __NR_connect 0
#endif
#define DO_SOCKET(result, domain, type, protocol) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = domain; \
socketargs[1] = type; \
socketargs[2] = protocol; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_socket, socketargs); \
} else \
result = INLINE_SYSCALL(socket, 3, domain, type, protocol); \
} while (0)
#define DO_CONNECT(result, sockfd, serv_addr, addrlen) \
do { \
if (USE_OLD_SOCKETCALL) { \
socketargs[0] = sockfd; \
socketargs[1] = (unsigned long int)serv_addr; \
socketargs[2] = addrlen; \
socketargs[3] = 0; \
result = INLINE_SYSCALL(socketcall, 2, SOCKOP_connect, socketargs); \
} else \
result = INLINE_SYSCALL(connect, 3, sockfd, serv_addr, addrlen); \
} while (0)
#ifndef _PATH_LOG
# define _PATH_LOG "/dev/log"
#endif
static const char path_log[] = _PATH_LOG;
/* For building glibc with SSP switched on, define __progname to a
* constant if building for the run-time loader, to avoid pulling
* in more of libc.so into ld.so
*/
#ifdef IS_IN_rtld
static char *__progname = "<rtld>";
#else
extern char *__progname;
#endif
/* Common handler code, used by stack_chk_fail and __stack_smash_handler
* Inlined to ensure no self-references to the handler within itself.
* Data static to avoid putting more than necessary on the stack,
* to aid core debugging.
*/
__attribute__ ((__noreturn__ , __always_inline__))
static inline void
__hardened_gentoo_stack_chk_fail(char func[], int damaged)
{
#define MESSAGE_BUFSIZ 256
static pid_t pid;
static int plen, i;
static char message[MESSAGE_BUFSIZ];
static const char msg_ssa[] = ": stack smashing attack";
static const char msg_inf[] = " in function ";
static const char msg_ssd[] = "*** stack smashing detected ***: ";
static const char msg_terminated[] = " - terminated\n";
static const char msg_report[] = "Report to http://bugs.gentoo.org/\n";
static const char msg_unknown[] = "<unknown>";
static int log_socket, connect_result;
static struct sockaddr_un sock;
static unsigned long int socketargs[4];
/* Build socket address
*/
sock.sun_family = AF_UNIX;
i = 0;
while ((path_log[i] != '\0') && (i<(sizeof(sock.sun_path)-1))) {
sock.sun_path[i] = path_log[i];
i++;
}
sock.sun_path[i] = '\0';
/* Try SOCK_DGRAM connection to syslog */
connect_result = -1;
DO_SOCKET(log_socket, AF_UNIX, SOCK_DGRAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
if (connect_result == -1) {
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Try SOCK_STREAM connection to syslog */
DO_SOCKET(log_socket, AF_UNIX, SOCK_STREAM, 0);
if (log_socket != -1)
DO_CONNECT(connect_result, log_socket, &sock, sizeof(sock));
}
/* Build message. Messages are generated both in the old style and new style,
* so that log watchers that are configured for the old-style message continue
* to work.
*/
#define strconcat(str) \
{i=0; while ((str[i] != '\0') && ((i+plen)<(MESSAGE_BUFSIZ-1))) \
{\
message[plen+i]=str[i];\
i++;\
}\
plen+=i;}
/* R.Henderson post-gcc-4 style message */
plen = 0;
strconcat(msg_ssd);
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Dr. Etoh pre-gcc-4 style message */
plen = 0;
if (__progname != (char *)0)
strconcat(__progname)
else
strconcat(msg_unknown);
strconcat(msg_ssa);
strconcat(msg_inf);
if (func != NULL)
strconcat(func)
else
strconcat(msg_unknown);
strconcat(msg_terminated);
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
/* Direct reports to bugs.gentoo.org */
plen=0;
strconcat(msg_report);
message[plen++]='\0';
/* Write out error message to STDERR, to syslog if open */
INLINE_SYSCALL(write, 3, STDERR_FILENO, message, plen);
if (connect_result != -1)
INLINE_SYSCALL(write, 3, log_socket, message, plen);
if (log_socket != -1)
INLINE_SYSCALL(close, 1, log_socket);
/* Suicide */
pid = INLINE_SYSCALL(getpid, 0);
if (ENABLE_SSP_SMASH_DUMPS_CORE) {
static struct sigaction default_abort_act;
/* Remove any user-supplied handler for SIGABRT, before using it */
default_abort_act.sa_handler = SIG_DFL;
default_abort_act.sa_sigaction = NULL;
__sigfillset(&default_abort_act.sa_mask);
default_abort_act.sa_flags = 0;
if (DO_SIGACTION(SIGABRT, &default_abort_act, NULL) == 0)
INLINE_SYSCALL(kill, 2, pid, SIGABRT);
}
/* Note; actions cannot be added to SIGKILL */
INLINE_SYSCALL(kill, 2, pid, SIGKILL);
/* In case the kill didn't work, exit anyway
* The loop prevents gcc thinking this routine returns
*/
while (1)
INLINE_SYSCALL(exit, 0);
}
__attribute__ ((__noreturn__))
void __stack_chk_fail(void)
{
__hardened_gentoo_stack_chk_fail(NULL, 0);
}
#ifdef ENABLE_OLD_SSP_COMPAT
__attribute__ ((__noreturn__))
void __stack_smash_handler(char func[], int damaged)
{
__hardened_gentoo_stack_chk_fail(func, damaged);
}
#endif

View File

@ -1,381 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
alt_prefix() {
is_crosscompile && echo /usr/${CTARGET}
}
if [[ ${EAPI:-0} == [012] ]] ; then
: ${ED:=${D}}
: ${EROOT:=${ROOT}}
fi
# This indirection is for binpkgs. #523332
_nonfatal() { nonfatal "$@" ; }
if [[ ${EAPI:-0} == [0123] ]] ; then
nonfatal() { "$@" ; }
_nonfatal() { "$@" ; }
fi
# We need to be able to set alternative headers for
# compiling for non-native platform
# Will also become useful for testing kernel-headers without screwing up
# the whole system.
# note: intentionally undocumented.
alt_headers() {
echo ${ALT_HEADERS:=$(alt_prefix)/usr/include}
}
alt_build_headers() {
if [[ -z ${ALT_BUILD_HEADERS} ]] ; then
ALT_BUILD_HEADERS="${EPREFIX}$(alt_headers)"
if tc-is-cross-compiler ; then
ALT_BUILD_HEADERS=${SYSROOT}$(alt_headers)
if [[ ! -e ${ALT_BUILD_HEADERS}/linux/version.h ]] ; then
local header_path=$(echo '#include <linux/version.h>' | $(tc-getCPP ${CTARGET}) ${CFLAGS} 2>&1 | grep -o '[^"]*linux/version.h')
ALT_BUILD_HEADERS=${header_path%/linux/version.h}
fi
fi
fi
echo "${ALT_BUILD_HEADERS}"
}
alt_libdir() {
echo $(alt_prefix)/$(get_libdir)
}
alt_usrlibdir() {
echo $(alt_prefix)/usr/$(get_libdir)
}
builddir() {
echo "${WORKDIR}/build-${ABI}-${CTARGET}-$1"
}
setup_target_flags() {
# This largely mucks with compiler flags. None of which should matter
# when building up just the headers.
just_headers && return 0
case $(tc-arch) in
x86)
# -march needed for #185404 #199334
# TODO: When creating the first glibc cross-compile, this test will
# always fail as it does a full link which in turn requires glibc.
# Probably also applies when changing multilib profile settings (e.g.
# enabling x86 when the profile was amd64-only previously).
# We could change main to _start and pass -nostdlib here so that we
# only test the gcc code compilation. Or we could do a compile and
# then look for the symbol via scanelf.
if ! glibc_compile_test "" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
local t=${CTARGET_OPT:-${CTARGET}}
t=${t%%-*}
filter-flags '-march=*'
export CFLAGS="-march=${t} ${CFLAGS}"
einfo "Auto adding -march=${t} to CFLAGS #185404"
fi
;;
amd64)
# -march needed for #185404 #199334
# Note: This test only matters when the x86 ABI is enabled, so we could
# optimize a bit and elide it.
# TODO: See cross-compile issues listed above for x86.
if ! glibc_compile_test "${CFLAGS_x86}" 'void f(int i, void *p) {if (__sync_fetch_and_add(&i, 1)) f(i, p);}\nint main(){return 0;}\n' 2>/dev/null ; then
local t=${CTARGET_OPT:-${CTARGET}}
t=${t%%-*}
# Normally the target is x86_64-xxx, so turn that into the -march that
# gcc actually accepts. #528708
[[ ${t} == "x86_64" ]] && t="x86-64"
filter-flags '-march=*'
# ugly, ugly, ugly. ugly.
CFLAGS_x86=$(CFLAGS=${CFLAGS_x86} filter-flags '-march=*'; echo "${CFLAGS}")
export CFLAGS_x86="${CFLAGS_x86} -march=${t}"
einfo "Auto adding -march=${t} to CFLAGS_x86 #185404"
fi
;;
mips)
# The mips abi cannot support the GNU style hashes. #233233
filter-ldflags -Wl,--hash-style=gnu -Wl,--hash-style=both
;;
ppc)
append-flags "-freorder-blocks"
;;
sparc)
# Both sparc and sparc64 can use -fcall-used-g6. -g7 is bad, though.
filter-flags "-fcall-used-g7"
append-flags "-fcall-used-g6"
# If the CHOST is the basic one (e.g. not sparcv9-xxx already),
# try to pick a better one so glibc can use cpu-specific .S files.
# We key off the CFLAGS to get a good value. Also need to handle
# version skew.
# We can't force users to set their CHOST to their exact machine
# as many of these are not recognized by config.sub/gcc and such :(.
# Note: If the mcpu values don't scale, we might try probing CPP defines.
# Note: Should we factor in -Wa,-AvXXX flags too ? Or -mvis/etc... ?
local cpu
case ${CTARGET} in
sparc64-*)
case $(get-flag mcpu) in
niagara[234])
if version_is_at_least 2.8 ; then
cpu="sparc64v2"
elif version_is_at_least 2.4 ; then
cpu="sparc64v"
elif version_is_at_least 2.2.3 ; then
cpu="sparc64b"
fi
;;
niagara)
if version_is_at_least 2.4 ; then
cpu="sparc64v"
elif version_is_at_least 2.2.3 ; then
cpu="sparc64b"
fi
;;
ultrasparc3)
cpu="sparc64b"
;;
*)
# We need to force at least v9a because the base build doesn't
# work with just v9.
# https://sourceware.org/bugzilla/show_bug.cgi?id=19477
[[ -z ${cpu} ]] && append-flags "-Wa,-xarch=v9a"
;;
esac
;;
sparc-*)
case $(get-flag mcpu) in
niagara[234])
if version_is_at_least 2.8 ; then
cpu="sparcv9v2"
elif version_is_at_least 2.4 ; then
cpu="sparcv9v"
elif version_is_at_least 2.2.3 ; then
cpu="sparcv9b"
else
cpu="sparcv9"
fi
;;
niagara)
if version_is_at_least 2.4 ; then
cpu="sparcv9v"
elif version_is_at_least 2.2.3 ; then
cpu="sparcv9b"
else
cpu="sparcv9"
fi
;;
ultrasparc3)
cpu="sparcv9b"
;;
v9|ultrasparc)
cpu="sparcv9"
;;
v8|supersparc|hypersparc|leon|leon3)
cpu="sparcv8"
;;
esac
;;
esac
[[ -n ${cpu} ]] && CTARGET_OPT="${cpu}-${CTARGET#*-}"
;;
esac
}
setup_flags() {
# Make sure host make.conf doesn't pollute us
if is_crosscompile || tc-is-cross-compiler ; then
CHOST=${CTARGET} strip-unsupported-flags
fi
# Store our CFLAGS because it's changed depending on which CTARGET
# we are building when pulling glibc on a multilib profile
CFLAGS_BASE=${CFLAGS_BASE-${CFLAGS}}
CFLAGS=${CFLAGS_BASE}
CXXFLAGS_BASE=${CXXFLAGS_BASE-${CXXFLAGS}}
CXXFLAGS=${CXXFLAGS_BASE}
ASFLAGS_BASE=${ASFLAGS_BASE-${ASFLAGS}}
ASFLAGS=${ASFLAGS_BASE}
# Over-zealous CFLAGS can often cause problems. What may work for one
# person may not work for another. To avoid a large influx of bugs
# relating to failed builds, we strip most CFLAGS out to ensure as few
# problems as possible.
strip-flags
strip-unsupported-flags
filter-flags -m32 -m64 -mabi=*
# Bug 492892.
filter-flags -frecord-gcc-switches
unset CBUILD_OPT CTARGET_OPT
if use multilib ; then
CTARGET_OPT=$(get_abi_CTARGET)
[[ -z ${CTARGET_OPT} ]] && CTARGET_OPT=$(get_abi_CHOST)
fi
setup_target_flags
if [[ -n ${CTARGET_OPT} && ${CBUILD} == ${CHOST} ]] && ! is_crosscompile; then
CBUILD_OPT=${CTARGET_OPT}
fi
# Lock glibc at -O2 -- linuxthreads needs it and we want to be
# conservative here. -fno-strict-aliasing is to work around #155906
filter-flags -O?
append-flags -O2 -fno-strict-aliasing -fno-builtin-strlen
# Can't build glibc itself with fortify code. Newer versions add
# this flag for us, so no need to do it manually.
version_is_at_least 2.16 ${PV} || append-cppflags -U_FORTIFY_SOURCE
# building glibc with SSP is fraught with difficulty, especially
# due to __stack_chk_fail_local which would mean significant changes
# to the glibc build process. See bug #94325 #293721
# Note we have to handle both user-given CFLAGS and gcc defaults via
# spec rules here. We can't simply add -fno-stack-protector as it gets
# added before user flags, and we can't just filter-flags because
# _filter_hardened doesn't support globs.
filter-flags -fstack-protector*
gcc-specs-ssp && append-flags $(test-flags -fno-stack-protector)
if use hardened && gcc-specs-pie ; then
# Force PIC macro definition for all compilations since they're all
# either -fPIC or -fPIE with the default-PIE compiler.
append-cppflags -DPIC
else
# Don't build -fPIE without the default-PIE compiler and the
# hardened-pie patch
filter-flags -fPIE
fi
}
want_nptl() {
[[ -z ${LT_VER} ]] && return 0
want_tls || return 1
use nptl || return 1
# Older versions of glibc had incomplete arch support for nptl.
# But if you're building those now, you can handle USE=nptl yourself.
return 0
}
want_linuxthreads() {
[[ -z ${LT_VER} ]] && return 1
use linuxthreads
}
want_tls() {
# Archs that can use TLS (Thread Local Storage)
case $(tc-arch) in
x86)
# requires i486 or better #106556
[[ ${CTARGET} == i[4567]86* ]] && return 0
return 1
;;
esac
return 0
}
want__thread() {
want_tls || return 1
# For some reason --with-tls --with__thread is causing segfaults on sparc32.
[[ ${PROFILE_ARCH} == "sparc" ]] && return 1
[[ -n ${WANT__THREAD} ]] && return ${WANT__THREAD}
# only test gcc -- cant test linking yet
tc-has-tls -c ${CTARGET}
WANT__THREAD=$?
return ${WANT__THREAD}
}
use_multiarch() {
# Make sure binutils is new enough to support indirect functions #336792
# This funky sed supports gold and bfd linkers.
local bver nver
bver=$($(tc-getLD ${CTARGET}) -v | sed -n -r '1{s:[^0-9]*::;s:^([0-9.]*).*:\1:;p}')
case $(tc-arch ${CTARGET}) in
amd64|x86) nver="2.20" ;;
arm) nver="2.22" ;;
hppa) nver="2.23" ;;
ppc|ppc64) nver="2.20" ;;
# ifunc was added in 2.23, but glibc also needs machinemode which is in 2.24.
s390) nver="2.24" ;;
sparc) nver="2.21" ;;
*) return 1 ;;
esac
version_is_at_least ${nver} ${bver}
}
# Setup toolchain variables that had historically
# been defined in the profiles for these archs.
setup_env() {
# silly users
unset LD_RUN_PATH
unset LD_ASSUME_KERNEL
if is_crosscompile || tc-is-cross-compiler ; then
multilib_env ${CTARGET_OPT:-${CTARGET}}
if ! use multilib ; then
MULTILIB_ABIS=${DEFAULT_ABI}
else
MULTILIB_ABIS=${MULTILIB_ABIS:-${DEFAULT_ABI}}
fi
# If the user has CFLAGS_<CTARGET> in their make.conf, use that,
# and fall back on CFLAGS.
local VAR=CFLAGS_${CTARGET//[-.]/_}
CFLAGS=${!VAR-${CFLAGS}}
fi
setup_flags
export ABI=${ABI:-${DEFAULT_ABI:-default}}
local VAR=CFLAGS_${ABI}
# We need to export CFLAGS with abi information in them because glibc's
# configure script checks CFLAGS for some targets (like mips). Keep
# around the original clean value to avoid appending multiple ABIs on
# top of each other.
: ${__GLIBC_CC:=$(tc-getCC ${CTARGET_OPT:-${CTARGET}})}
export __GLIBC_CC CC="${__GLIBC_CC} ${!VAR}"
}
foreach_abi() {
setup_env
local ret=0
local abilist=""
if use multilib ; then
abilist=$(get_install_abis)
else
abilist=${DEFAULT_ABI}
fi
evar_push ABI
export ABI
for ABI in ${abilist:-default} ; do
setup_env
einfo "Running $1 for ABI ${ABI}"
$1
: $(( ret |= $? ))
done
evar_pop
return ${ret}
}
just_headers() {
is_crosscompile && use crosscompile_opts_headers-only
}
glibc_banner() {
local b="Gentoo ${PVR}"
[[ -n ${SNAP_VER} ]] && b+=" snapshot ${SNAP_VER}"
[[ -n ${BRANCH_UPDATE} ]] && b+=" branch ${BRANCH_UPDATE}"
[[ -n ${PATCH_VER} ]] && ! use vanilla && b+=" p${PATCH_VER}"
echo "${b}"
}

View File

@ -1,27 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
eblit-glibc-pkg_postinst() {
# nothing to do if just installing headers
just_headers && return
if ! tc-is-cross-compiler && [[ -x ${EROOT}/usr/sbin/iconvconfig ]] ; then
# Generate fastloading iconv module configuration file.
"${EROOT}"/usr/sbin/iconvconfig --prefix="${ROOT}"
fi
if ! is_crosscompile && [[ ${ROOT} == "/" ]] ; then
# Reload init ... if in a chroot or a diff init package, ignore
# errors from this step #253697
/sbin/telinit U 2>/dev/null
# if the host locales.gen contains no entries, we'll install everything
local locale_list="${EROOT}etc/locale.gen"
if [[ -z $(locale-gen --list --config "${locale_list}") ]] ; then
ewarn "Generating all locales; edit /etc/locale.gen to save time/space"
locale_list="${EROOT}usr/share/i18n/SUPPORTED"
fi
locale-gen -j $(makeopts_jobs) --config "${locale_list}"
fi
}

View File

@ -1,63 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# Simple test to make sure our new glibc isnt completely broken.
# Make sure we don't test with statically built binaries since
# they will fail. Also, skip if this glibc is a cross compiler.
#
# If coreutils is built with USE=multicall, some of these files
# will just be wrapper scripts, not actual ELFs we can test.
glibc_sanity_check() {
cd / #228809
# We enter ${ED} so to avoid trouble if the path contains
# special characters; for instance if the path contains the
# colon character (:), then the linker will try to split it
# and look for the libraries in an unexpected place. This can
# lead to unsafe code execution if the generated prefix is
# within a world-writable directory.
# (e.g. /var/tmp/portage:${HOSTNAME})
pushd "${ED}"/$(get_libdir) >/dev/null
local x striptest
for x in cal date env free ls true uname uptime ; do
x=$(type -p ${x})
[[ -z ${x} || ${x} != ${EPREFIX}/* ]] && continue
striptest=$(LC_ALL="C" file -L ${x} 2>/dev/null) || continue
case ${striptest} in
*"statically linked"*) continue;;
*"ASCII text"*) continue;;
esac
# We need to clear the locale settings as the upgrade might want
# incompatible locale data. This test is not for verifying that.
LC_ALL=C \
./ld-*.so --library-path . ${x} > /dev/null \
|| die "simple run test (${x}) failed"
done
popd >/dev/null
}
eblit-glibc-pkg_preinst() {
# nothing to do if just installing headers
just_headers && return
# prepare /etc/ld.so.conf.d/ for files
mkdir -p "${EROOT}"/etc/ld.so.conf.d
# Default /etc/hosts.conf:multi to on for systems with small dbs.
if [[ $(wc -l < "${EROOT}"/etc/hosts) -lt 1000 ]] ; then
sed -i '/^multi off/s:off:on:' "${ED}"/etc/host.conf
elog "Defaulting /etc/host.conf:multi to on"
fi
[[ ${ROOT} != "/" ]] && return 0
[[ -d ${ED}/$(get_libdir) ]] || return 0
glibc_sanity_check
# For newer EAPIs, this was run in pkg_pretend.
if [[ ${EAPI:-0} == [0123] ]] ; then
check_devpts
fi
}

View File

@ -1,157 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
glibc_compile_test() {
local ret save_cflags=${CFLAGS}
CFLAGS+=" $1"
shift
pushd "${T}" >/dev/null
rm -f glibc-test*
printf '%b' "$*" > glibc-test.c
_nonfatal emake -s glibc-test
ret=$?
popd >/dev/null
CFLAGS=${save_cflags}
return ${ret}
}
glibc_run_test() {
local ret
if [[ ${EMERGE_FROM} == "binary" ]] ; then
# ignore build failures when installing a binary package #324685
glibc_compile_test "" "$@" 2>/dev/null || return 0
else
if ! glibc_compile_test "" "$@" ; then
ewarn "Simple build failed ... assuming this is desired #324685"
return 0
fi
fi
pushd "${T}" >/dev/null
./glibc-test
ret=$?
rm -f glibc-test*
popd >/dev/null
return ${ret}
}
check_devpts() {
# Make sure devpts is mounted correctly for use w/out setuid pt_chown.
# If merely building the binary package, then there's nothing to verify.
[[ ${MERGE_TYPE} == "buildonly" ]] && return
# Only sanity check when installing the native glibc.
[[ ${ROOT} != "/" ]] && return
# Older versions always installed setuid, so no need to check.
in_iuse suid || return
# If they're opting in to the old suid code, then no need to check.
use suid && return
if awk '$3 == "devpts" && $4 ~ /[, ]gid=5[, ]/ { exit 1 }' /proc/mounts ; then
eerror "In order to use glibc with USE=-suid, you must make sure that"
eerror "you have devpts mounted at /dev/pts with the gid=5 option."
eerror "Openrc should do this for you, so you should check /etc/fstab"
eerror "and make sure you do not have any invalid settings there."
# Do not die on older kernels as devpts did not export these settings #489520.
if version_is_at_least 2.6.25 $(uname -r) ; then
die "mount & fix your /dev/pts settings"
fi
fi
}
eblit-glibc-pkg_pretend() {
# For older EAPIs, this is run in pkg_preinst.
if [[ ${EAPI:-0} != [0123] ]] ; then
check_devpts
fi
# prevent native builds from downgrading ... maybe update to allow people
# to change between diff -r versions ? (2.3.6-r4 -> 2.3.6-r2)
if [[ ${MERGE_TYPE} != "buildonly" ]] && \
[[ ${ROOT} == "/" ]] && \
[[ ${CBUILD} == ${CHOST} ]] && \
[[ ${CHOST} == ${CTARGET} ]] ; then
if has_version '>'${CATEGORY}/${PF} ; then
eerror "Sanity check to keep you from breaking your system:"
eerror " Downgrading glibc is not supported and a sure way to destruction"
die "aborting to save your system"
fi
if ! glibc_run_test '#include <pwd.h>\nint main(){return getpwuid(0)==0;}\n'
then
eerror "Your patched vendor kernel is broken. You need to get an"
eerror "update from whoever is providing the kernel to you."
eerror "https://sourceware.org/bugzilla/show_bug.cgi?id=5227"
eerror "http://bugs.gentoo.org/262698"
die "keeping your system alive, say thank you"
fi
if ! glibc_run_test '#include <unistd.h>\n#include <sys/syscall.h>\nint main(){return syscall(1000)!=-1;}\n'
then
eerror "Your old kernel is broken. You need to update it to"
eerror "a newer version as syscall(<bignum>) will break."
eerror "http://bugs.gentoo.org/279260"
die "keeping your system alive, say thank you"
fi
fi
# users have had a chance to phase themselves, time to give em the boot
if [[ -e ${EROOT}/etc/locale.gen ]] && [[ -e ${EROOT}/etc/locales.build ]] ; then
eerror "You still haven't deleted ${EROOT}/etc/locales.build."
eerror "Do so now after making sure ${EROOT}/etc/locale.gen is kosher."
die "lazy upgrader detected"
fi
if [[ ${CTARGET} == i386-* ]] ; then
eerror "i386 CHOSTs are no longer supported."
eerror "Chances are you don't actually want/need i386."
eerror "Please read http://www.gentoo.org/doc/en/change-chost.xml"
die "please fix your CHOST"
fi
if [[ -e /proc/xen ]] && [[ $(tc-arch) == "x86" ]] && ! is-flag -mno-tls-direct-seg-refs ; then
ewarn "You are using Xen but don't have -mno-tls-direct-seg-refs in your CFLAGS."
ewarn "This will result in a 50% performance penalty when running with a 32bit"
ewarn "hypervisor, which is probably not what you want."
fi
use hardened && ! gcc-specs-pie && \
ewarn "PIE hardening not applied, as your compiler doesn't default to PIE"
# Make sure host system is up to date #394453
if has_version '<sys-libs/glibc-2.13' && \
[[ -n $(scanelf -qys__guard -F'#s%F' "${EROOT}"/lib*/l*-*.so) ]]
then
ebegin "Scanning system for __guard to see if you need to rebuild first ..."
local files=$(
scanelf -qys__guard -F'#s%F' \
"${EROOT}"/*bin/ \
"${EROOT}"/lib* \
"${EROOT}"/usr/*bin/ \
"${EROOT}"/usr/lib* | \
egrep -v \
-e "^${EROOT}/lib.*/(libc|ld)-2.*.so$" \
-e "^${EROOT}/sbin/(ldconfig|sln)$"
)
[[ -z ${files} ]]
if ! eend $? ; then
eerror "Your system still has old SSP __guard symbols. You need to"
eerror "rebuild all the packages that provide these files first:"
eerror "${files}"
die "old __guard detected"
fi
fi
}

View File

@ -1,9 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
[[ ${EAPI:-0} == [0123] ]] && source "${FILESDIR}/eblits/pkg_pretend.eblit"
eblit-glibc-pkg_setup() {
[[ ${EAPI:-0} == [0123] ]] && eblit-glibc-pkg_pretend
}

View File

@ -1,24 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
[[ ${EAPI:-0} == [01] ]] && source "${FILESDIR}/eblits/src_configure.eblit"
toolchain-glibc_src_compile() {
local t
for t in linuxthreads nptl ; do
if want_${t} ; then
[[ ${EAPI:-0} == [01] ]] && glibc_do_configure ${t}
emake -C "$(builddir ${t})" || die "make ${t} for ${ABI} failed"
fi
done
}
eblit-glibc-src_compile() {
if just_headers ; then
[[ ${EAPI:-0} == [01] ]] && toolchain-glibc_headers_configure
return
fi
foreach_abi toolchain-glibc_src_compile
}

View File

@ -1,274 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
dump_toolchain_settings() {
echo
einfo "$*"
local v
for v in ABI CBUILD CHOST CTARGET CBUILD_OPT CTARGET_OPT CC LD {AS,C,CPP,CXX,LD}FLAGS ; do
einfo " $(printf '%15s' ${v}:) ${!v}"
done
# The glibc configure script doesn't properly use LDFLAGS all the time.
export CC="$(tc-getCC ${CTARGET}) ${LDFLAGS}"
einfo " $(printf '%15s' 'Manual CC:') ${CC}"
echo
}
glibc_do_configure() {
# Glibc does not work with gold (for various reasons) #269274.
tc-ld-disable-gold
dump_toolchain_settings "Configuring glibc for $1"
local myconf=()
# set addons
pushd "${S}" > /dev/null
local addons=$(echo */configure | sed \
-e 's:/configure::g' \
-e 's:\(linuxthreads\|nptl\|rtkaio\|glibc-compat\)\( \|$\)::g' \
-e 's: \+$::' \
-e 's! !,!g' \
-e 's!^!,!' \
-e '/^,\*$/d')
[[ -d ports ]] && addons+=",ports"
popd > /dev/null
myconf+=( $(use_enable hardened stackguard-randomization) )
if has_version '<sys-libs/glibc-2.13' ; then
myconf+=( --enable-old-ssp-compat )
fi
[[ $(tc-is-softfloat) == "yes" ]] && myconf+=( --without-fp )
if [[ $1 == "linuxthreads" ]] ; then
if want_tls ; then
myconf+=( --with-tls )
if ! want__thread || use glibc-compat20 || [[ ${LT_KER_VER} == 2.[02].* ]] ; then
myconf+=( --without-__thread )
else
myconf+=( --with-__thread )
fi
else
myconf+=( --without-tls --without-__thread )
fi
myconf+=( --disable-sanity-checks )
addons="linuxthreads${addons}"
myconf+=( --enable-kernel=${LT_KER_VER} )
elif [[ $1 == "nptl" ]] ; then
# Newer versions require nptl, so there is no addon for it.
version_is_at_least 2.20 || addons="nptl${addons}"
myconf+=( --enable-kernel=${NPTL_KERN_VER} )
else
die "invalid pthread option"
fi
myconf+=( --enable-add-ons="${addons#,}" )
# Since SELinux support is only required for nscd, only enable it if:
# 1. USE selinux
# 2. only for the primary ABI on multilib systems
# 3. Not a crosscompile
if ! is_crosscompile && use selinux ; then
if use multilib ; then
if is_final_abi ; then
myconf+=( --with-selinux )
else
myconf+=( --without-selinux )
fi
else
myconf+=( --with-selinux )
fi
else
myconf+=( --without-selinux )
fi
# Force a few tests where we always know the answer but
# configure is incapable of finding it.
if is_crosscompile ; then
export \
libc_cv_c_cleanup=yes \
libc_cv_forced_unwind=yes
fi
myconf+=(
--without-cvs
--disable-werror
--enable-bind-now
--build=${CBUILD_OPT:-${CBUILD}}
--host=${CTARGET_OPT:-${CTARGET}}
$(use_enable profile)
$(use_with gd)
--with-headers=$(alt_build_headers)
--prefix="${EPREFIX}/usr"
--sysconfdir="${EPREFIX}/etc"
--localstatedir="${EPREFIX}/var"
--libdir='$(prefix)'/$(get_libdir)
--mandir='$(prefix)'/share/man
--infodir='$(prefix)'/share/info
--libexecdir='$(libdir)'/misc/glibc
--with-bugurl=http://bugs.gentoo.org/
--with-pkgversion="$(glibc_banner)"
$(use_multiarch || echo --disable-multi-arch)
$(in_iuse rpc && use_enable rpc obsolete-rpc || echo --enable-obsolete-rpc)
$(in_iuse systemtap && use_enable systemtap)
$(in_iuse nscd && use_enable nscd)
${EXTRA_ECONF}
)
# We rely on sys-libs/timezone-data for timezone tools normally.
if version_is_at_least 2.23 ; then
myconf+=( $(use_enable vanilla timezone-tools) )
fi
# These libs don't have configure flags.
ac_cv_lib_audit_audit_log_user_avc_message=$(in_iuse audit && usex audit || echo no)
ac_cv_lib_cap_cap_init=$(in_iuse caps && usex caps || echo no)
# There is no configure option for this and we need to export it
# since the glibc build will re-run configure on itself
export libc_cv_rootsbindir="${EPREFIX}/sbin"
export libc_cv_slibdir="${EPREFIX}/$(get_libdir)"
# We take care of patching our binutils to use both hash styles,
# and many people like to force gnu hash style only, so disable
# this overriding check. #347761
export libc_cv_hashstyle=no
# Overtime, generating info pages can be painful. So disable this for
# versions older than the latest stable to avoid the issue (this ver
# should be updated from time to time). #464394 #465816
if ! version_is_at_least 2.17 ; then
export ac_cv_prog_MAKEINFO=:
fi
local builddir=$(builddir "$1")
mkdir -p "${builddir}"
cd "${builddir}"
set -- "${S}"/configure "${myconf[@]}"
echo "$@"
"$@" || die "failed to configure glibc"
# ia64 static cross-compilers are a pita in so much that they
# can't produce static ELFs (as the libgcc.a is broken). so
# disable building of the programs for those targets if it
# doesn't work.
# XXX: We could turn this into a compiler test, but ia64 is
# the only one that matters, so this should be fine for now.
if is_crosscompile && [[ ${CTARGET} == ia64* ]] ; then
sed -i '1i+link-static = touch $@' config.make
fi
# If we're trying to migrate between ABI sets, we need
# to lie and use a local copy of gcc. Like if the system
# is built with MULTILIB_ABIS="amd64 x86" but we want to
# add x32 to it, gcc/glibc don't yet support x32.
if [[ -n ${GCC_BOOTSTRAP_VER} ]] && use multilib ; then
echo 'main(){}' > "${T}"/test.c
if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/test.c -Wl,-emain -lgcc 2>/dev/null ; then
sed -i -e '/^CC = /s:$: -B$(objdir)/../'"gcc-${GCC_BOOTSTRAP_VER}/${ABI}:" config.make || die
mkdir -p sunrpc
cp $(which rpcgen) sunrpc/cross-rpcgen || die
touch -t 202001010101 sunrpc/cross-rpcgen || die
fi
fi
}
toolchain-glibc_headers_configure() {
export ABI=default
local builddir=$(builddir "headers")
mkdir -p "${builddir}"
cd "${builddir}"
# if we don't have a compiler yet, we cant really test it now ...
# hopefully they don't affect header geneation, so let's hope for
# the best here ...
local v vars=(
ac_cv_header_cpuid_h=yes
libc_cv_{386,390,alpha,arm,hppa,ia64,mips,{powerpc,sparc}{,32,64},sh,x86_64}_tls=yes
libc_cv_asm_cfi_directives=yes
libc_cv_broken_visibility_attribute=no
libc_cv_c_cleanup=yes
libc_cv_forced_unwind=yes
libc_cv_gcc___thread=yes
libc_cv_mlong_double_128=yes
libc_cv_mlong_double_128ibm=yes
libc_cv_ppc_machine=yes
libc_cv_ppc_rel16=yes
libc_cv_predef_{fortify_source,stack_protector}=no
libc_cv_visibility_attribute=yes
libc_cv_z_combreloc=yes
libc_cv_z_execstack=yes
libc_cv_z_initfirst=yes
libc_cv_z_nodelete=yes
libc_cv_z_nodlopen=yes
libc_cv_z_relro=yes
libc_mips_abi=${ABI}
libc_mips_float=$([[ $(tc-is-softfloat) == "yes" ]] && echo soft || echo hard)
# These libs don't have configure flags.
ac_cv_lib_audit_audit_log_user_avc_message=no
ac_cv_lib_cap_cap_init=no
)
einfo "Forcing cached settings:"
for v in "${vars[@]}" ; do
einfo " ${v}"
export ${v}
done
# Blow away some random CC settings that screw things up. #550192
if [[ -d ${S}/sysdeps/mips ]]; then
pushd "${S}"/sysdeps/mips >/dev/null
sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=32:' mips32/Makefile mips64/n32/Makefile || die
sed -i -e '/^CC +=/s:=.*:= -D_MIPS_SZPTR=64:' mips64/n64/Makefile || die
popd >/dev/null
fi
local myconf=()
myconf+=(
--disable-sanity-checks
--enable-hacker-mode
--without-cvs
--disable-werror
--enable-bind-now
--build=${CBUILD_OPT:-${CBUILD}}
--host=${CTARGET_OPT:-${CTARGET}}
--with-headers=$(alt_build_headers)
--prefix="${EPREFIX}/usr"
${EXTRA_ECONF}
)
local addons
[[ -d ${S}/ports ]] && addons+=",ports"
# Newer versions require nptl, so there is no addon for it.
version_is_at_least 2.20 || addons+=",nptl"
myconf+=( --enable-add-ons="${addons#,}" )
# Nothing is compiled here which would affect the headers for the target.
# So forcing CC/CFLAGS is sane.
set -- "${S}"/configure "${myconf[@]}"
echo "$@"
CC="$(tc-getBUILD_CC)" \
CFLAGS="-O1 -pipe" \
CPPFLAGS="-U_FORTIFY_SOURCE" \
LDFLAGS="" \
"$@" || die "failed to configure glibc"
}
toolchain-glibc_src_configure() {
if just_headers ; then
toolchain-glibc_headers_configure
else
want_linuxthreads && glibc_do_configure linuxthreads
want_nptl && glibc_do_configure nptl
fi
}
eblit-glibc-src_configure() {
foreach_abi toolchain-glibc_src_configure
}

View File

@ -1,244 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
toolchain-glibc_src_install() {
local builddir=$(builddir $(want_linuxthreads && echo linuxthreads || echo nptl))
cd "${builddir}"
emake install_root="${D}$(alt_prefix)" install || die
if want_linuxthreads && want_nptl ; then
einfo "Installing NPTL to $(alt_libdir)/tls/..."
cd "$(builddir nptl)"
dodir $(alt_libdir)/tls $(alt_usrlibdir)/nptl
local l src_lib
for l in libc libm librt libpthread libthread_db ; do
# take care of shared lib first ...
l=${l}.so
if [[ -e ${l} ]] ; then
src_lib=${l}
else
src_lib=$(eval echo */${l})
fi
cp -a ${src_lib} "${ED}"$(alt_libdir)/tls/${l} || die "copying nptl ${l}"
fperms a+rx $(alt_libdir)/tls/${l}
dosym ${l} $(alt_libdir)/tls/$(scanelf -qSF'%S#F' ${src_lib})
# then grab the linker script or the symlink ...
if [[ -L ${ED}$(alt_usrlibdir)/${l} ]] ; then
dosym $(alt_libdir)/tls/${l} $(alt_usrlibdir)/nptl/${l}
else
sed \
-e "s:/${l}:/tls/${l}:g" \
-e "s:/${l/%.so/_nonshared.a}:/nptl/${l/%.so/_nonshared.a}:g" \
"${ED}"$(alt_usrlibdir)/${l} > "${ED}"$(alt_usrlibdir)/nptl/${l}
fi
# then grab the static lib ...
src_lib=${src_lib/%.so/.a}
[[ ! -e ${src_lib} ]] && src_lib=${src_lib/%.a/_pic.a}
cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}"
src_lib=${src_lib/%.a/_nonshared.a}
if [[ -e ${src_lib} ]] ; then
cp -a ${src_lib} "${ED}"$(alt_usrlibdir)/nptl/ || die "copying nptl ${src_lib}"
fi
done
# use the nptl linker instead of the linuxthreads one as the linuxthreads
# one may lack TLS support and that can be really bad for business
cp -a elf/ld.so "${ED}"$(alt_libdir)/$(scanelf -qSF'%S#F' elf/ld.so) || die "copying nptl interp"
fi
# We'll take care of the cache ourselves
rm -f "${ED}"/etc/ld.so.cache
# Everything past this point just needs to be done once ...
is_final_abi || return 0
# Make sure the non-native interp can be found on multilib systems even
# if the main library set isn't installed into the right place. Maybe
# we should query the active gcc for info instead of hardcoding it ?
local i ldso_abi ldso_name
local ldso_abi_list=(
# x86
amd64 /lib64/ld-linux-x86-64.so.2
x32 /libx32/ld-linux-x32.so.2
x86 /lib/ld-linux.so.2
# mips
o32 /lib/ld.so.1
n32 /lib32/ld.so.1
n64 /lib64/ld.so.1
# powerpc
ppc /lib/ld.so.1
ppc64 /lib64/ld64.so.1
# s390
s390 /lib/ld.so.1
s390x /lib/ld64.so.1
# sparc
sparc32 /lib/ld-linux.so.2
sparc64 /lib64/ld-linux.so.2
)
case $(tc-endian) in
little)
ldso_abi_list+=(
# arm
arm64 /lib/ld-linux-aarch64.so.1
)
;;
big)
ldso_abi_list+=(
# arm
arm64 /lib/ld-linux-aarch64_be.so.1
)
;;
esac
if [[ ${SYMLINK_LIB} == "yes" ]] && [[ ! -e ${ED}/$(alt_prefix)/lib ]] ; then
dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) $(alt_prefix)/lib
fi
for (( i = 0; i < ${#ldso_abi_list[@]}; i += 2 )) ; do
ldso_abi=${ldso_abi_list[i]}
has ${ldso_abi} $(get_install_abis) || continue
ldso_name="$(alt_prefix)${ldso_abi_list[i+1]}"
if [[ ! -L ${ED}/${ldso_name} && ! -e ${ED}/${ldso_name} ]] ; then
dosym ../$(get_abi_LIBDIR ${ldso_abi})/${ldso_name##*/} ${ldso_name}
fi
done
# With devpts under Linux mounted properly, we do not need the pt_chown
# binary to be setuid. This is because the default owners/perms will be
# exactly what we want.
if in_iuse suid && ! use suid ; then
find "${ED}" -name pt_chown -exec chmod -s {} +
fi
#################################################################
# EVERYTHING AFTER THIS POINT IS FOR NATIVE GLIBC INSTALLS ONLY #
# Make sure we install some symlink hacks so that when we build
# a 2nd stage cross-compiler, gcc finds the target system
# headers correctly. See gcc/doc/gccinstall.info
if is_crosscompile ; then
# We need to make sure that /lib and /usr/lib always exists.
# gcc likes to use relative paths to get to its multilibs like
# /usr/lib/../lib64/. So while we don't install any files into
# /usr/lib/, we do need it to exist.
cd "${ED}"$(alt_libdir)/..
[[ -e lib ]] || mkdir lib
cd "${ED}"$(alt_usrlibdir)/..
[[ -e lib ]] || mkdir lib
dosym usr/include $(alt_prefix)/sys-include
return 0
fi
# Files for Debian-style locale updating
dodir /usr/share/i18n
sed \
-e "/^#/d" \
-e "/SUPPORTED-LOCALES=/d" \
-e "s: \\\\::g" -e "s:/: :g" \
"${S}"/localedata/SUPPORTED > "${ED}"/usr/share/i18n/SUPPORTED \
|| die "generating /usr/share/i18n/SUPPORTED failed"
cd "${WORKDIR}"/extra/locale
dosbin locale-gen || die
doman *.[0-8]
insinto /etc
doins locale.gen || die
# Make sure all the ABI's can find the locales and so we only
# have to generate one set
local a
keepdir /usr/$(get_libdir)/locale
for a in $(get_install_abis) ; do
if [[ ! -e ${ED}/usr/$(get_abi_LIBDIR ${a})/locale ]] ; then
dosym /usr/$(get_libdir)/locale /usr/$(get_abi_LIBDIR ${a})/locale
fi
done
cd "${S}"
# Install misc network config files
insinto /etc
doins nscd/nscd.conf posix/gai.conf nss/nsswitch.conf || die
doins "${WORKDIR}"/extra/etc/*.conf || die
if ! in_iuse nscd || use nscd ; then
doinitd "${WORKDIR}"/extra/etc/nscd || die
local nscd_args=(
-e "s:@PIDFILE@:$(strings "${ED}"/usr/sbin/nscd | grep nscd.pid):"
)
version_is_at_least 2.16 || nscd_args+=( -e 's: --foreground : :' )
sed -i "${nscd_args[@]}" "${ED}"/etc/init.d/nscd
# Newer versions of glibc include the nscd.service themselves.
# TODO: Drop the $FILESDIR copy once 2.19 goes stable.
if version_is_at_least 2.19 ; then
systemd_dounit nscd/nscd.service || die
systemd_newtmpfilesd nscd/nscd.tmpfiles nscd.conf || die
else
systemd_dounit "${FILESDIR}"/nscd.service || die
systemd_newtmpfilesd "${FILESDIR}"/nscd.tmpfilesd nscd.conf || die
fi
else
# Do this since extra/etc/*.conf above might have nscd.conf.
rm -f "${ED}"/etc/nscd.conf
fi
echo 'LDPATH="include ld.so.conf.d/*.conf"' > "${T}"/00glibc
doenvd "${T}"/00glibc || die
for d in BUGS ChangeLog* CONFORMANCE FAQ NEWS NOTES PROJECTS README* ; do
[[ -s ${d} ]] && dodoc ${d}
done
# Prevent overwriting of the /etc/localtime symlink. We'll handle the
# creation of the "factory" symlink in pkg_postinst().
rm -f "${ED}"/etc/localtime
}
toolchain-glibc_headers_install() {
local builddir=$(builddir "headers")
cd "${builddir}"
emake install_root="${D}$(alt_prefix)" install-headers || die
if ! version_is_at_least 2.16 ; then
insinto $(alt_headers)/bits
doins bits/stdio_lim.h || die
fi
insinto $(alt_headers)/gnu
doins "${S}"/include/gnu/stubs.h || die "doins include gnu"
# Make sure we install the sys-include symlink so that when
# we build a 2nd stage cross-compiler, gcc finds the target
# system headers correctly. See gcc/doc/gccinstall.info
dosym usr/include $(alt_prefix)/sys-include
}
src_strip() {
# gdb is lame and requires some debugging information to remain in
# libpthread, so we need to strip it by hand. libthread_db makes no
# sense stripped as it is only used when debugging.
local pthread=$(has splitdebug ${FEATURES} && echo "libthread_db" || echo "lib{pthread,thread_db}")
env \
-uRESTRICT \
CHOST=${CTARGET} \
STRIP_MASK="/*/{,tls/}${pthread}*" \
prepallstrip
# if user has stripping enabled and does not have split debug turned on,
# then leave the debugging sections in libpthread.
if ! has nostrip ${FEATURES} && ! has splitdebug ${FEATURES} ; then
${STRIP:-${CTARGET}-strip} --strip-debug "${ED}"/*/libpthread-*.so
fi
}
eblit-glibc-src_install() {
if just_headers ; then
export ABI=default
toolchain-glibc_headers_install
return
fi
foreach_abi toolchain-glibc_src_install
src_strip
}

View File

@ -1,63 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
eblit-glibc-src_prepare() {
# XXX: We should do the branchupdate, before extracting the manpages and
# infopages else it does not help much (mtimes change if there is a change
# to them with branchupdate)
if [[ -n ${BRANCH_UPDATE} ]] ; then
epatch "${DISTDIR}"/glibc-${RELEASE_VER}-branch-update-${BRANCH_UPDATE}.patch.bz2
# Snapshot date patch
einfo "Patching version to display snapshot date ..."
sed -i -e "s:\(#define RELEASE\).*:\1 \"${BRANCH_UPDATE}\":" version.h
fi
# tag, glibc is it
if ! version_is_at_least 2.17 ; then
[[ -e csu/Banner ]] && die "need new banner location"
glibc_banner > csu/Banner
fi
if [[ -n ${PATCH_VER} ]] && ! use vanilla ; then
EPATCH_MULTI_MSG="Applying Gentoo Glibc Patchset ${RELEASE_VER}-${PATCH_VER} ..." \
EPATCH_EXCLUDE=${GLIBC_PATCH_EXCLUDE} \
EPATCH_SUFFIX="patch" \
ARCH=$(tc-arch) \
epatch "${WORKDIR}"/patches
fi
if just_headers ; then
if [[ -e ports/sysdeps/mips/preconfigure ]] ; then
# mips peeps like to screw with us. if building headers,
# we don't have a real compiler, so we can't let them
# insert -mabi on us.
sed -i '/CPPFLAGS=.*-mabi/s|.*|:|' ports/sysdeps/mips/preconfigure || die
find ports/sysdeps/mips/ -name Makefile -exec sed -i '/^CC.*-mabi=/s:-mabi=.*:-D_MIPS_SZPTR=32:' {} +
fi
fi
epatch_user
gnuconfig_update
# Glibc is stupid sometimes, and doesn't realize that with a
# static C-Only gcc, -lgcc_eh doesn't exist.
# https://sourceware.org/ml/libc-alpha/2003-09/msg00100.html
# https://sourceware.org/ml/libc-alpha/2005-02/msg00042.html
# But! Finally fixed in recent versions:
# https://sourceware.org/ml/libc-alpha/2012-05/msg01865.html
if ! version_is_at_least 2.16 ; then
echo 'int main(){}' > "${T}"/gcc_eh_test.c
if ! $(tc-getCC ${CTARGET}) ${CFLAGS} ${LDFLAGS} "${T}"/gcc_eh_test.c -lgcc_eh 2>/dev/null ; then
sed -i -e 's:-lgcc_eh::' Makeconfig || die "sed gcc_eh"
fi
fi
cd "${WORKDIR}"
find . -type f '(' -size 0 -o -name "*.orig" ')' -delete
find . -name configure -exec touch {} +
# Fix permissions on some of the scripts.
chmod u+x "${S}"/scripts/*.sh
}

View File

@ -1,30 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
glibc_src_test() {
cd "$(builddir $1)"
nonfatal emake -j1 check && return 0
einfo "make check failed - re-running with --keep-going to get the rest of the results"
nonfatal emake -j1 -k check
ewarn "make check failed for ${ABI}-${CTARGET}-$1"
return 1
}
toolchain-glibc_src_test() {
local ret=0 t
for t in linuxthreads nptl ; do
if want_${t} ; then
glibc_src_test ${t}
: $(( ret |= $? ))
fi
done
return ${ret}
}
eblit-glibc-src_test() {
# Give tests more time to complete.
export TIMEOUTFACTOR=5
foreach_abi toolchain-glibc_src_test || die "tests failed"
}

View File

@ -1,121 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
[[ ${EAPI:-0} == [01] ]] && source "${FILESDIR}/eblits/src_prepare.eblit"
int_to_KV() {
local version=$1 major minor micro
major=$((version / 65536))
minor=$(((version % 65536) / 256))
micro=$((version % 256))
echo ${major}.${minor}.${micro}
}
eend_KV() {
[[ $(KV_to_int $1) -ge $(KV_to_int $2) ]]
eend $?
}
get_kheader_version() {
printf '#include <linux/version.h>\nLINUX_VERSION_CODE\n' | \
$(tc-getCPP ${CTARGET}) -I "${EPREFIX}/$(alt_build_headers)" - | \
tail -n 1
}
check_nptl_support() {
# don't care about the compiler here as we arent using it
just_headers && return
local run_kv build_kv want_kv
run_kv=$(int_to_KV $(get_KV))
build_kv=$(int_to_KV $(get_kheader_version))
want_kv=${NPTL_KERN_VER}
ebegin "Checking gcc for __thread support"
if ! eend $(want__thread ; echo $?) ; then
echo
eerror "Could not find a gcc that supports the __thread directive!"
eerror "Please update your binutils/gcc and try again."
die "No __thread support in gcc!"
fi
if ! is_crosscompile && ! tc-is-cross-compiler ; then
# Building fails on an non-supporting kernel
ebegin "Checking kernel version (${run_kv} >= ${want_kv})"
if ! eend_KV ${run_kv} ${want_kv} ; then
echo
eerror "You need a kernel of at least ${want_kv} for NPTL support!"
die "Kernel version too low!"
fi
fi
ebegin "Checking linux-headers version (${build_kv} >= ${want_kv})"
if ! eend_KV ${build_kv} ${want_kv} ; then
echo
eerror "You need linux-headers of at least ${want_kv} for NPTL support!"
die "linux-headers version too low!"
fi
}
unpack_pkg() {
local a=${PN}
[[ -n ${SNAP_VER} ]] && a="${a}-${RELEASE_VER}"
[[ -n $1 ]] && a="${a}-$1"
if [[ -n ${SNAP_VER} ]] ; then
a="${a}-${SNAP_VER}"
else
if [[ -n $2 ]] ; then
a="${a}-$2"
else
a="${a}-${RELEASE_VER}"
fi
fi
if has ${a}.tar.xz ${A} ; then
unpacker ${a}.tar.xz
else
unpack ${a}.tar.bz2
fi
[[ -n $1 ]] && { mv ${a} $1 || die ; }
}
toolchain-glibc_src_unpack() {
# Check NPTL support _before_ we unpack things to save some time
want_nptl && check_nptl_support
if [[ -n ${EGIT_REPO_URIS} ]] ; then
local i d
for ((i=0; i<${#EGIT_REPO_URIS[@]}; ++i)) ; do
EGIT_REPO_URI=${EGIT_REPO_URIS[$i]}
EGIT_SOURCEDIR=${EGIT_SOURCEDIRS[$i]}
git-2_src_unpack
done
else
unpack_pkg
fi
cd "${S}"
touch locale/C-translit.h #185476 #218003
[[ -n ${LT_VER} ]] && unpack_pkg linuxthreads ${LT_VER}
[[ -n ${PORTS_VER} ]] && unpack_pkg ports ${PORTS_VER}
[[ -n ${LIBIDN_VER} ]] && unpack_pkg libidn
if [[ -n ${PATCH_VER} ]] ; then
cd "${WORKDIR}"
unpack glibc-${RELEASE_VER}-patches-${PATCH_VER}.tar.bz2
# pull out all the addons
local d
for d in extra/*/configure ; do
d=${d%/configure}
[[ -d ${S}/${d} ]] && die "${d} already exists in \${S}"
mv "${d}" "${S}" || die "moving ${d} failed"
done
fi
}
eblit-glibc-src_unpack() {
setup_env
toolchain-glibc_src_unpack
[[ ${EAPI:-0} == [01] ]] && cd "${S}" && eblit-glibc-src_prepare
}

Some files were not shown because too many files have changed in this diff Show More